ruby-on-rails - Ruby Gem 开发 - 如何使用 ActiveRecord?

标签 ruby-on-rails ruby activerecord gem

我目前正在尝试开发我的第一个 ruby gem,但我已经陷入困境。我使用“bundle gem”命令来创建基本结构并阅读了一些教程,但我找不到的是如何集成 ActiveRecord。

我在哪里创建迁移?

我是在 lib 文件夹中还是在根文件夹中创建“db/migrations”文件夹?

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

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

如有任何帮助,我们将不胜感激!

你好,弗洛

最佳答案

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

rails g plugin new your-plugin-name

然后,在您的 gem 中,您可以在 app/models/ 文件夹中定义模型,它们将自动被拾取。

迁移有点困难:对于 rails 3.1,如果您在正确的文件夹中定义它们就可以了,在 rails 3.0 中,您将必须手动生成一个任务以将迁移复制到您的代码库。检查this link我在那里回答了那个问题。

有关 rails 引擎的更多信息,请查看 thisthis article .

关于ruby-on-rails - Ruby Gem 开发 - 如何使用 ActiveRecord?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6938652/

相关文章:

ruby-on-rails - 在 Netbeans/JRuby 中开发 Rails 应用程序但部署到 Ruby (C)

ruby-on-rails - 处理 Rails 中的纬度/经度和 mysql 空间点

ruby - Ruby 中最简洁/优雅/合适的方法参数解析

ruby-on-rails - 错误 310。使用 nginx + rails 3 的重定向过多

ruby-on-rails - 如何确定是哪个 gem 导致特定 gem 被 bundle ?

Ruby/RMagick 旋转和组合图像

ruby-on-rails - 如何强制 Rails 将 Oracle 日期字段视为日期时间?

mysql - 带有 CASE 和 WHEN 的 Ruby update_all

ruby-on-rails - Rails 3 : Difference between Relation.计数和Relation.all.count

ruby-on-rails - Sidekiq 在其他作业完成后执行作业