なるほど.難しいですね.
自分でも試してみました.
No route matches {:action=>"destroy", :controller=>"comments", :id=>nil}, missing required keys: [:id]
<%= c.id %> : <%= c.content %>
<%= link_to 'aaa', comment_path(nil), method: :delete %>
確かに,comment_path
に nil
を渡したら同じようなエラーになりますが,
値が入っていればそうはなりませんでした.
<%= c.id %>
<%= link_to '', comment_path(c.id), method: delete %>
この2行の間に,`c.id が 値あり → nil になっているのが謎ですね.
一度,問題を切り分けるために,以下を試してみるのはどうでしょうか.
nil
でエラーにならないようにしてみました.
これで"削除する" が表示されていない場所が問題の箇所になると思います.
<%= c.id %>
<% if c.present? && c.id.present? %>
<%= link_to '削除する', comment_path(c), method: :delete %>
<% end %>