4

因此,我正在开发一个新项目,它似乎是使用新引擎功能的绝佳选择。正如引擎所言,它自己的小应用程序,具有自己的视图,控制器和模型。这就是我的缺点。为引擎生成模型和迁移

我创建我的测试应用程序,我将安装新引擎。

rails new engine_app && cd engine_app 

我然后创建新的引擎

rails plugin new my_engine --mountable 

我那么 '宝石' 到engine_app的Gemfile中

gem 'my_engine', :path => './my_engine' 

然后我安装在engine_app的路由引擎,所以

mount MyEngine::Engine, :at => '/my_engine' 

我然后cd到m y_engine的虚拟应用程序并运行

rails generate model MyModel title:string body:text 

这里是我陷入混乱的地方。从我理解这应该生成一个名称空间表(我认为这将是my_engine_my_model)。迁移文件中的表只是my_model。

其次我如何运行此迁移,并且迁移文件正确只调用表:my_model?我试着运行以下内容,但似乎没有发生,我检查了数据库,表不在那里。所以要回顾一下,我需要知道如何在引擎中创建迁移,并且能够正确地在父应用程序数据库上运行它们。

感谢您的任何帮助和指导。

回答

4

因此,我所读的所有教程都没有指定您需要从引擎的根级别运行脚本/导轨生成。我不断看到引用告诉我去测试/虚拟应用程序。运行脚本后/导轨产生从我的引擎它创造合适的模型,迁移rake任务的根模型[场]我是能够运行

rake my_engine:install:migrations; rake db:migrate 

运行迁移