2017-09-20 21 views
1
Rails 3.2 

在我的意見/選項/ _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 

有什麼想法這裏發生了什麼?

回答

1

從技術文檔UrlHelper#link_to

支持的動詞是:post:delete:put。請注意,如果 用戶禁用JavaScript,請求將回退到使用 GET

所以你的情況,你必須指定method您的link_to,否則它會成爲一個GET請求,將您重定向到show方法,因爲是相同的路徑,但使用不同的HTTP動詞,嘗試:

= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg", method: :delete 
1

如果您未指定HTTP謂詞,則該操作將默認爲showGET請求。您需要:

= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg, method: delete"