7

そのため、新しいエンジン機能を使用するのに最適な新しいプロジェクトに取り組んでいます。エンジンが言うように、独自のビュー、コントローラー、モデルを備えた独自の小さなアプリです。ここで私は不足しています。

新しいエンジンをマウントするテスト アプリケーションを作成します。

rails new engine_app && cd engine_app

次に、新しいエンジンを作成します

rails plugin new my_engine --mountable

次に、「gem」を engine_app の gemfile に追加します

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

次に、engine_app のルートにエンジンをマウントします。

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

次に、my_engine のダミー アプリに cd して実行します

rails generate model MyModel title:string body:text

ここで私は混乱に陥ります。私が理解していることから、これは名前空間テーブルを生成することになっています (my_engine_my_model になると思います)。移行ファイルのテーブルは my_model だけです。

第二に、この移行を実行するにはどうすればよいですか?テーブル:my_modelを呼び出すだけで移行ファイルは正しいですか? 以下を実行しようとしましたが、何も起こらないようで、データベースを確認しましたが、テーブルがありません。

要約すると、エンジンで移行を作成する方法と、それらを親アプリ データベースで正しく実行できるようにする必要があります。

ヘルプとガイダンスをありがとう。

4

2 に答える 2

5

したがって、私が読んだすべてのチュートリアルでは、エンジンのルート レベル内から script/rails generate を実行する必要があるとは明記されていませんでした。テスト/ダミーアプリに移動するように指示する参照が引き続き表示されました。エンジンのルートから script/rails generate model [fields] を実行した後、適切なモデル、migration rake タスクが作成され、実行できました

rake my_engine:install:migrations; rake db:migrate

移行を実行するには

于 2012-10-04T01:25:56.503 に答える