前提・実現したいこと
ruby on railsの環境でgem「cocoon」を使用して追加可能なフォームを作成したいです。
下記のコードを使用するとメソッド「link_to_add_association」と「link_to_remove_association」がNoMethodErrorとなってしまうので原因をご教示いただきたいです。
発生している問題・エラーメッセージ
https://gyazo.com/0c64ceb353ed86666c800293c5736046
「undefined method `new_record?' for nil:NilClass」と記載がありますが、
自分で実装したコードの中に該当するものはありません。
該当のソースコード
app/views/goals/new.html.erb
html
1 <%= form_with url: goals_path do |f| %> 2 <table class="goal-table"> 3 <tr> 4 <p> 目標:<%= f.text_field :goal_content, placeholder: "達成したいこと" %> </p> 5 </tr> 6 <tr> 7 <p> 開始日:<%= f.datetime_field :goal_start_date %> </p> 8 <p> 終了日:<%= f.datetime_field :goal_end_date %> </p> 9 </tr> 10 <%= f.fields_for :tasks do |t| %> 11 <%= render "task_fields", f: t %> 12 <% end %> 13 <div id="detail-association-insertion-point"></div> 14 <%= link_to_add_association "+フォームを追加", f, :tasks, 15 class: "btn btn-secondary btn-block", 16 data: { 17 association_insertion_node: '#detail-association-insertion-point', 18 association_insertion_method: 'after' 19 } %> 20 </table> 21 <%= f.submit "作成", class: "btn btn-primary" %> 22 <%= link_to "キャンセル", goals_path, class: "btn btn-danger" %> 23 <% end %>
app/views/goals/_task_fields.html.erb
html
1 <tr> 2 <p> 課題:<%= f.text_field :task_content, placeholder: "目標に対する課題" %> </p> 3 </tr> 4 <tr> 5 <p> アクション:<%= f.text_field :task_action, placeholder: "課題を解決するための行動" %> </p> 6 </tr> 7 <tr> 8 <p> 開始日:<%= f.datetime_field :task_start_date %> </p> 9 <p> 終了日:<%= f.datetime_field :task_end_date %> </p> 10 </tr> 11 <tr> 12 <%= link_to_remove_association "削除", f, class: "btn btn-secondary btn-block" %> 13 </tr> 14 </table>
app/models/goal.rb
ruby
1class Goal < ApplicationRecord 2 has_many :tasks 3 accepts_nested_attributes_for :tasks, allow_destroy: true 4end
app/models/task.rb
ruby
1class Task < ApplicationRecord 2 belongs_to :goal 3end
補足情報(FW/ツールのバージョンなど)
ruby 5.2.9
rails 5.2.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/12 02:14
2021/06/12 04:00