Ruby Gem开发 - 如何使用ActiveRecord?

Let*_*low 6 ruby gem activerecord ruby-on-rails

我正在尝试开发我的第一颗红宝石宝石而且我已经卡住了.我使用"bundle gem"命令来创建基本结构并阅读一些教程,但我找不到的是如何集成ActiveRecord.

我在哪里创建迁移?

我是否在lib文件夹或根目录中创建"db/migrations"文件夹?

我是否必须在Rakefile中做任何事情(我发现了一些问题,答案是"你必须创建自己的[my_gem]:db:migrate"或类似的东西.)

我需要的是一种创建gem的方法,它定义了ActiveRecord模型(当然包括迁移),然后可以由rails应用程序使用.

任何有关那个的帮助将不胜感激!

问候,弗洛

nat*_*vda 6

构建gem以与rails项目集成时,您需要构建一个railstie引擎.如果您使用的是rails 3.0.x,请使用enginex,如果您使用的是rails 3.1,则应使用新的生成器:

rails g plugin new your-plugin-name
Run Code Online (Sandbox Code Playgroud)

然后,在您的宝石内部,您可以在app/models/文件夹内定义模型,它们将自动被拾取.

迁移有点困难:对于rails 3.1,如果你在正确的文件夹中定义它们就没问题,在rails 3.0中你必须手动生成一个任务来将迁移复制到你的代码库.检查此链接,我回答了这个问题.

有关rails引擎的更多信息,请查看本文本文.

  • 这篇文章有误导性,问题是关于使用活动记录模型和从gem迁移.使用Rails执行此操作不是必需的.我有一个基于sinatra的Web服务,我想要gem-ify所以所有的配置都可以在服务gem包的外部指出.这只是假设rails无法工作的许多备选方案的一个示例. (3认同)