在我的控制器中我有 -
def remove_file
@chap_comment.remove_chap_comment_pdf!
@chap_comment.save
end
......在我看来,我有 -
<%= link_to 'remove pdf', controller: 'chap_comments', action: 'remove_file', id: comment.id %>
...在routes.rb中我只是 -
资源:chap_comments
...但是在带有链接的页面甚至渲染之前我得到了No route matches {:action=>"remove_file", :controller=>"chap_comments", :id=>1}
- 我应该把什么放在我的路线中?
答案 0 :(得分:1)
尝试使用member
:
resources :chap_comments do
member do
delete 'remove_file'
end
end
这为remove_file
添加了额外的资源路径。完整路径为remove_file_chap_comment_path
。
答案 1 :(得分:1)
您需要在路由文件中添加remove_file的路由。如下所示:
get "chap_comments/:id/remove_file" => 'chap_comments#remove_file'
答案 2 :(得分:0)
更改您的路线,如
resources :chap_comments do
member do
delete :remove_file
end
end
然后你可以建立一个链接(运行rake routes
以查看方法的完整路径名称)
= link_to "Remove PDF", remove_file_chap_comment_path(id), :method => :delete