0

'Wbs'というテーブルがあります。コマンドラインから実行すると正常に動作するコントローラーを生成しました。

例:

WBS

Wbs(id:整数、説明:文字列、project_id:整数、wbs_no:文字列、公開:ブール値、created_at:日時、updated_at:日時))

問題は、特定のプロジェクトのすべてのWbsオブジェクトを返そうとしたときです。Railsはwbsから「s」を削除し、「Project::Wbs」ではなく「Project::Wb」というメソッドを呼び出そうとします。

例:

Projects.first.wbs

プロジェクトの負荷(0.4ms)SELECT"projects"。*FROM "projects" LIMIT 1 NameError:uninitialized constant Project :: Wb

それぞれのモデルにbelong_toとhas_manyが設定されています。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

モデル名が期待どおりではないことをRailsに伝える必要があると思います。あなたはそうすることができます:

has_many :wbs, :class_name => "Wbs"
于 2012-07-04T15:41:03.287 に答える
0

"wbs" がuncountableであることを指定できます。加えconfig/initalizers/inflections.rbて:

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable "wbs"
end

その後、サーバー/コンソールを再起動する必要があります。

于 2012-07-04T16:19:04.427 に答える