4

그래서 새로운 엔진 기능을 사용하기에 적합한 새로운 프로젝트로 작업하고 있습니다. 엔진과 마찬가지로 자체 앱, 자체 뷰, 컨트롤러 및 모델이 있습니다. 여기에 내가 간다.엔진에 대한 모델 및 마이그레이션 생성

새 엔진을 마운트 할 테스트 응용 프로그램을 만듭니다.

rails new engine_app && cd engine_app 

는 그때 그때 너무

로 engine_app의 경로에서 엔진 마운트 새로운 엔진

rails plugin new my_engine --mountable 

내가 다음 engine_app의 gemfile

gem 'my_engine', :path => './my_engine' 

에 '보석'을 추가를 만들

mount MyEngine::Engine, :at => '/my_engine' 

다음으로 cd로 m y_engine의 모범 사례 및 앱

rails generate model MyModel title:string body:text 

여기가 내가 혼란에 처한 곳입니다. 내가 네임 스페이스 테이블을 생성하기로되어 있다는 것을 이해하면 (나는 그것이 my_engine_my_model이 될 것이라고 생각한다). 마이그레이션 파일의 테이블은 my_model입니다.

둘째,이 마이 그 레이션을 실행하려면 어떻게해야하고 마이 그 레이션 파일은 테이블을 호출 할 때만 정확합니까? my_model? 나는 다음과 같은 실행을 시도했지만 아무 일도 일어나지 않으며, 나는 데이터베이스를 점검하고 그 테이블은 존재하지 않는다.

요약하면 엔진에서 마이그레이션을 만들어 부모 응용 프로그램 데이터베이스에서 올바르게 실행할 수 있어야합니다.

도움과 안내를 보내 주셔서 감사합니다.

답변

4

내가 읽은 모든 튜토리얼에서는 엔진의 루트 수준에서 script/rails를 생성해야한다고 명시하지 않았습니다. 나는 시험/더미 응용 프로그램으로 이동하라는 언급을 계속 보았습니다. 스크립트를 실행 한 후/레일은 적절한 모델, 마이그레이션 레이크 작업을 만들어 내 엔진의 루트에서 모델 [필드]를 생성하고 난

rake my_engine:install:migrations; rake db:migrate 

는 마이그레이션을 실행하는 실행 할 수 있었다

관련 문제