2016-11-10 4 views
-2

ネストされた属性を持つデータベースでレコードを編集したいとします。私のコントローラでは私が持っている:奇妙な未定義メソッドmodel_nameの問題

def edit 
    @chocolate = Chocolate.new.kinds.find_by_id(params[:chocolate_id]) 
end 

と私edit.html.erbに私が持っている:

form_for @chocolate do |choco| 

を、それは私に次のエラー与える:それは私がそのような与え、なぜ私が理解できない

undefined method model_name issue 

をエラー。オプションは?

+1

Chocolate.new.kinds.find_by_idから.newを削除します(params [:chocolate_id]) – siopao

答えて

0

これらの方法は、実際にはそうした方法で混合されていません。

私はあなたの代わりにこのような何かをしようとしていることを推測している:

@chocolate = Chocolate.includes(:kinds).find(params[:chocolate_id]) 

次にあなたがChocolate用のデータベースと関連Kindレコードを問い合わせる代わりに新しいレコードをインスタンス化しようとしています。

+0

ああ、表示されます。しかし、その場合、それは私に 'IDなしチョコレートを見つけることができませんでした。しかし、私は ':chocolate_id'でIDを送信します。いいえ? –

+0

あなたのルートはどのように見えますか?おそらくIDは 'params [:id]'で利用可能でしょうか?私はあなたのためにそれを推測することはできません。 –

関連する問題