13

Rails エンジンを作成しました。シード コマンドの使用に問題があります。rake db:seed を実行すると、「uninitialized constant」というエラーが表示されます。

エンジンでは、seeds.rb を取得しました。

Page.create(:title => 'Frontpage', :order => '1')

次に、ダミーのアプリで、seeds.rb を取得しました

cms::Engine.load_seed   

(cmsはエンジンの名前です)--しかし、「初期化されていない定数」というエラーが発生しました。ダミーアプリから定数を参照するにはどうすればよいですか?

4

1 に答える 1

26

はい、わかった!- 答えは:

エンジンで、次のように、db フォルダーにシード.rb を追加し、各定数の先頭にアプリ名を追加します。

Cms::Page.create(:title => 'Frontpage', :order => '1')

ダミー アプリ、またはエンジンを追加するアプリで、次のコマンドを使用して、seeds.rb を db フォルダーに追加します。

Cms::Engine.load_seed

そして実行します:

rake db:seed 

ターミナルで。

于 2012-10-10T16:15:13.297 に答える