Ruby on rails 关于rails插件/引擎

Ruby on rails 关于rails插件/引擎,ruby-on-rails,ruby-on-rails-plugins,Ruby On Rails,Ruby On Rails Plugins,我正在寻找rails插件来帮助我模块化我的应用程序。我对一些基本问题感到困惑 rails插件可以有自己的DB吗?我的应用程序对于内部使用来说流量非常小,所以我对每个插件使用单独的sqlite DB的想法很满意。当我执行“rails插件新建”时,即使使用--full,也不会生成database.yml。如果我创建一个并执行rakedb:create,则不会创建sqlite数据库 有没有一个很好的教程可以用来使用rails 3.2创建rails插件?我发现大多数都比较老,并且使用enginex ge

我正在寻找rails插件来帮助我模块化我的应用程序。我对一些基本问题感到困惑

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

有没有一个很好的教程可以用来使用rails 3.2创建rails插件?我发现大多数都比较老,并且使用enginex gem,我认为它现在已经内置到rails中了

您能否将插件作为独立应用程序运行以进行测试,即使用WEBrick?当我在插件目录中运行“rails服务器”时,它只会说“错误:无法识别命令”

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

创建迁移 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”,而不是从引擎目录的根目录运行

我从一个涉及Rails 3.1 RC5的主题的ASCICast中看到了这一点,您过去可以从引擎/gem的根目录运行“Rails”。现在已经不是这样了

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

创建迁移 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”,而不是从引擎目录的根目录运行

我从一个涉及Rails 3.1 RC5的主题的ASCICast中看到了这一点,您过去可以从引擎/gem的根目录运行“Rails”。现在已经不是这样了

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


从发动机根部开始的短期运行:

test/dummy/script/rails s

在发动机根部的短期运行中:

test/dummy/script/rails s

谢谢你,我一直在读指南和看火车,都感到很困惑。谢谢你,我一直在读指南和看火车,都感到很困惑。