Rails 3.1引擎迁移不起作用

Vit*_*nov 6 ruby rake ruby-on-rails ruby-on-rails-3

我正在创建一个带迁移的rails 3.1引擎.rake db:migration在该引擎内部和主机应用程序内正常工作.但是我需要将这个引擎包含在另一个rails引擎中.第二个引擎包含用于测试的虚拟应用程序,我添加到该虚拟应用程序的application.rb这一行:

require 'my_engine'
Run Code Online (Sandbox Code Playgroud)

在控制台中,我可以看到第一个引擎中的类.

rake -T
Run Code Online (Sandbox Code Playgroud)

给我app:my_engine_engine:安装:迁移任务,但是当我运行这个任务时

rake app:my_engine_engine:install:migrations
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

rake aborted!
Don't know how to build task 'railties:install:migrations'

Tasks: TOP => app:my_engine_engine:install:migrations
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

Vit*_*nov 8

好吧,我找到了解决问题的办法.我只需要切换到我的测试应用程序目录并在那里运行:

rake my_engine_engine:install:migrations
Run Code Online (Sandbox Code Playgroud)

它应该工作.

  • 从您的回答中不清楚您正在谈论的"测试"目录.它是`/ test/dummy`目录还是其他一些测试目录,还是来自你要安装引擎的主应用程序目录中的目录.你说的是什么"测试"目录? (5认同)