2011-08-15 5 views
6

Tworzę silnik z szynami 3.1 z migracjami. rake db: migracja działa dobrze wewnątrz tego silnika i wewnątrz aplikacji hosta. Ale muszę włączyć ten silnik do innego silnika szyny. Drugi silnik zawiera obojętne aplikację do testowania, dodałem do environment.rb tego manekina aplikacji tej linii:Migracja silników Rails 3.1 nie działa

require 'my_engine' 

W konsoli widzę klas od pierwszej silnika.

rake -T 

dać mi app: my_engine_engine: zainstalować: Migracje zadanie, ale gdy jestem uruchomić to zadanie

rake app:my_engine_engine:install:migrations 

Dostaję taki błąd:

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) 

może ktoś pomóc mnie z tym problemem?

Odpowiedz

8

Cóż, znajduję rozwiązanie mojego problemu. ja po prostu potrzebne, aby przejść do mojego katalogu aplikacji testowej i tam uruchom:

rake my_engine_engine:install:migrations 

i działa tak jak powinno.

+5

Z twojej odpowiedzi nie wynika jasno, o czym mówisz "testowym" katalogu. Czy jest to katalog '/ test/dummy', czy jest to jakiś inny katalog testowy, czy też jest z katalogu głównej aplikacji, w którym chcesz zamontować silnik. Jakiego katalogu "testowego" miałeś na myśli? – Green

+0

Chciałbym, żeby twoja aplikacja była łatana automatycznie (patrz krok 3): http://pivotallabs.com/leave-your-migrations-in-your-rails-engines/ – courtsimas

+0

Ale dostaję ten błąd 'Don "umieć budować zadania": instalacja: migracje " –

1

Dla rails3 trzeba cd /test/testapp, następnie rake community_engine:install:migrations

I to działa!