2011-08-15 143 views
6

我正在创建一个带有迁移的rails 3.1引擎。 rake db:在该引擎内部以及主机应用程序内部迁移工作正常。但我需要将此引擎包含到另一个轨道引擎中。第二个引擎包含用于测试的虚拟应用程序,我加入到该application.rb中虚拟应用程序的该行:Rails 3.1引擎迁移不起作用

require 'my_engine' 

在控制台中,我可以从第一引擎看到类。

rake -T 

给我的应用程序:my_engine_engine:安装:迁移任务,但是当我运行此任务

rake app:my_engine_engine:install:migrations 

我得到这个错误:

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) 

谁能帮助我有这个麻烦吗?

回答

8

嗯,我找到解决我的问题。 我只需要切换到我的测试应用程序目录,并运行有:

rake my_engine_engine:install:migrations 

和它的作品,因为它应该。

+5

从你的回答中不清楚你正在谈论什么“测试”目录。它是'/ test/dummy'目录还是它的某个其他测试目录,还是来自主要应用程序的目录,您想要将其加载到您的引擎中。你的意思是什么“测试”目录? – Green

+0

我会猴子补丁你的应用程序自动执行此操作(请参阅步骤#3):http://pivotallabs.com/leave-your-migrations-in-your-rails-engines/ – courtsimas

+0

但我得到此错误'唐不知道如何构建任务'railties:install:migrations'' –

1

对于需要cd /test/testapprails3,然后rake community_engine:install:migrations

这作品!