2011-08-15 187 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

這作品!