我目前正在尝试开发我的第一个红宝石宝石,但我已经陷入困境。我使用“bundle gem”命令创建基本结构并阅读了一些教程,但我找不到如何集成 ActiveRecord。
我在哪里创建迁移?
我是在 lib 文件夹中还是在根目录中创建“db/migrations”文件夹?
我是否必须在 Rakefile 中执行任何操作(我发现了一些问题,答案类似于“您必须创建自己的 [my_gem]:db:migrate”或类似的内容。)
我需要的只是一种创建 gem 的方法,它定义 ActiveRecord 模型(当然包括迁移),然后可由 Rails 应用程序使用。
对此的任何帮助将不胜感激!
问候,弗洛
当构建一个与 Rails 项目集成的 gem 时,您需要构建一个 Railtie 引擎。如果您使用的是 Rails 3.0.x,请使用enginex https://github.com/josevalim/enginex,如果您使用的是 Rails 3.1,您应该使用新的生成器:
rails g plugin new your-plugin-name
然后,在你的 gem 中,你可以定义模型,在app/models/
文件夹,它们将被自动拾取。
迁移有点困难:对于rails 3.1,如果您在正确的文件夹中定义它们就可以了,在rails 3.0中,您将必须手动生成一个任务来将迁移复制到您的代码库。查看这个链接 https://stackoverflow.com/questions/4526122/migrations-in-rails-engine我在那里回答了这个问题。
有关铁路发动机的更多信息,请检查this http://www.themodestrubyist.com/2010/03/01/rails-3-plugins---part-1---the-big-picture/ and 本文 https://gist.github.com/af7e572c2dc973add221.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)