1

我正在寻找 Rails 插件来帮助我模块化我的应用程序。我有一些我很困惑的基本问题。

rails 插件可以有自己的数据库吗?我的应用程序的流量非常小,供内部使用,所以我对每个插件都使用单独的 sqlite DB 的想法很好。当我执行“rails plugin new”时,即使我使用 --full,也不会生成 database.yml。如果我创建一个并执行 rake db:create,则不会创建 sqlite db。

是否有一个很好的教程可用于使用 rails 3.2 创建一个 rails 插件?我发现的大多数都比较老,并且使用我认为现在内置在 rails 中的 enginex gem。

您可以将您的插件作为独立应用程序运行以进行测试,即使用 WEBrick 吗?当我在插件目录中运行“rails server”时,它只会显示“错误:无法识别命令”。

我想就是这样,我只是对如何开始感到困惑。

4

2 回答 2

4

创建迁移

Rails 指南“引擎入门”指导您使用引擎根目录中的“rails g model post”。

引擎入门

如果您这样做,它将为您创建 db/migrate 文件夹,其中包含迁移。

$ rails g model post
  invoke  active_record
  create    db/migrate/20120517184738_create_my_engine_posts.rb
  create    app/models/my_engine/post.rb
  invoke    test_unit
  create      test/unit/my_engine/post_test.rb
  create      test/fixtures/my_engine/posts.yml

您也可以直接生成迁移,就像使用 Rails 应用程序一样。

$ rails g migration AddMyEngineTable
  invoke  active_record
  create    db/migrate/20120517185241_add_my_engine_table.rb

运行 Rails 服务器

Rails 指南还规定从 test/dummy 运行“rails s”,而不是从引擎目录的根目录运行。

我从涵盖 Rails 3.1 RC5 的主题的 ASCIICast 中看到,您曾经能够从引擎/gem 的根目录运行“rails s”。这已不再是这种情况。

从三个月前发布在 Github 上的 Rails 问题来看,他们似乎需要将引擎的范围与虚拟应用程序的范围分开。

问题 #4894:可安装引擎 Rails 文件

于 2012-05-17T18:32:34.790 回答
1

简而言之,从引擎根:

test/dummy/script/rails s
于 2013-03-28T14:52:00.207 回答