因此,我正在开发一个新项目,这似乎是使用新引擎功能的绝佳选择。正如引擎所说,它有自己的小应用程序,有自己的视图、控制器和模型。这就是我的不足之处。
我创建了我将在其中安装新引擎的测试应用程序。
rails new engine_app && cd engine_app
然后我创建新引擎
rails plugin new my_engine --mountable
然后我将“gem”添加到 engine_app 的 gemfile
gem 'my_engine', :path => './my_engine'
然后我将引擎安装在engine_app的路线中
mount MyEngine::Engine, :at => '/my_engine'
然后我 cd 进入 my_engine 的虚拟应用程序并运行
rails generate model MyModel title:string body:text
这就是我遇到困惑的地方。据我了解,这应该生成一个命名空间表(我认为它是 my_engine_my_model)。迁移文件中的表就是 my_model。
其次,我如何运行此迁移,迁移文件是否仅在调用表时正确:my_model?我尝试运行以下命令,但似乎没有任何反应,并且我检查了数据库并且表不存在。
回顾一下,我需要知道如何在引擎中创建迁移,并能够在父应用程序数据库上正确运行它们。
感谢您的任何帮助和指导。