Rails – nested_formを使う時は”nested_form_for”を利用(”form_for”ではない)
Ruby on Railsでは、フォーム中に入力項目(input)を追加可能とするには”nested_form”を使えば簡単。
基本的には”nested_form”をgemファイルに追加するだけ。
これで
・link_to_add
・link_to_remove
の2つのメソッドが使えます。
ここで問題が発生。
「undefined method `link_to_remove’」なんて言われてしまいました。
原因と解決方法
“link_to_add”と”link_to_remove”を使うには、form_forメソッド内ではなく、nested_form_forメソッド内である必要がある、ようです。
元々、form_forメソッドで作ったフォームに追加実装していたため、機能しなかったようです。
form_forからnested_form_forに変更したら想定通りの動作になりました。
なお、INTER-ARTEQの記事「[Rails] nested_attributesの使い方」を参考にさせて頂きました。
関連記事:
・Rails – 1つのフォームで複数モデルのデータを扱う方法
・TechAcademyの体験談 – 良い所・悪い所
関連記事
-
-
Rails – pathヘルパーでURLがスラッシュではなくドットになる
products_path()というヘルパーが存在した場合、products_p …
-
-
Rails – 1つのフォームで複数モデルのデータを扱う方法
Ruby on Railsで ・1つのフォームで ・複数のモデルのデータを扱いた …