在我看来,我有 -
<%= link_to 'remove pdf', controller: 'chap_comments', action: 'remove_file', id: comment.id %>
在我的控制器中我有 -
def remove_file
@chap_comment.remove_chap_comment_pdf!
@chap_comment.save
end
...我正在undefined method
remove_chap_comment_pdf!&#39;为零:NilClass` - 为什么不认可这个类?
同样,以下 -
<%= link_to 'remove pdf', remove_file_chap_comment_path(:id), method: :delete %>
...得到同样的错误。
答案 0 :(得分:3)
def remove_file
@chap_comment = ChapComment.find(params[:id)
@chap_comment.remove_chap_comment_pdf!
@chap_comment.save
end
你还没有找到评论或分配它,所以@chap_comment是零。
答案 1 :(得分:0)
您正在id
中传递link_to
但未使用它来查找您收到此错误的原因。使用它: -
@chap_comment = ChapComment.find(params[:id)
##do anything with this @chap_comment
在服务器日志(控制台)中看到,您可以看到如下内容: -
Processing by ChapsController#remove_file as HTML
Parameters: {"id"=>"9"}
这意味着 - 你拥有id但不使用它