销毁用户会话的操作无效

时间:2017-09-20 17:20:06

标签: ruby-on-rails

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

知道这里发生了什么吗?

2 个答案:

答案 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