Rails 3.2
在我的views / options / _form.html.slim中,我有以下内容:
= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg"
当我运行应用程序时,右键单击按钮,然后复制链接,我得到:
http://test.MyApp.com/users/sign_out
但是当我点击它时,我收到以下消息:
Unknown action
The action 'show' could not be found for UsersController
知道这里发生了什么吗?
答案 0 :(得分:1)
如果您未指定HTTP谓词,则该操作将默认为来自GET
的{{1}}请求。你需要:
show
答案 1 :(得分:1)
来自文档UrlHelper#link_to:
支持的动词为
:post
,:delete
和:put
。注意,如果 用户已禁用JavaScript,请求将回退使用GET
。
因此,在您的情况下,您必须为link_to指定method
,否则它将发出GET请求,将您重定向到show方法,因为它们是相同的路径,但使用不同的HTTP动词,试试:
= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg", method: :delete