1
我正在從rails 2.3升級應用程序到rails 3.0,我升級了清除寶石(gem'clearance','1.0.0.rc2'),似乎sign_out需要被方法刪除。rails 3方法刪除清除
我更新了我的標誌了出來:
<%= link_to 'SignOut', sign_out_path, :method => "delete" %><
換算成:
<a href="/logout" data-method="delete" rel="nofollow">Logout</a>
但是,當我看到服務器日誌,它說:
Started GET "/sign_out?timeout=true" for 127.0.0.1 at 2012-10-03 20:28:38 -0400
User Load '44c84e19c75fa993029ca68b4f32019d2a56ab22' LIMIT 1
ActionController::RoutingError (No route matches "/sign_out"):
耙路線顯示:
sign_out DELETE /sign_out(.:format) {:action=>"destroy", :controller=>"clearance/sessions"}
任何想法可能是錯誤的?
在相關的說明,我有一個自動註銷3小時後也不會工作,我不知道如何做方法=從JavaScript刪除...?
function logout()
{
location.href='/sign_out?timeout=true';
}
<% if current_user != nil %>
// 3 hours of inactivity log them out
var t= setTimeout("logout()",10800000);
<% end %>
代碼對我來說看起來很好,但您的服務器日誌清楚地顯示它正在執行GET。所以,這不是一個答案,但爲了克服這個問題,你可以嘗試將它從一個href改爲適當的提交類型輸入。你的問題可能與href,而不是你的路線。另外,這是兩個問題。你應該刪除第二個問題並單獨提出。 – pduey
感謝pdue,我包括第二部分,以排除按鈕建議,如果我只能通過按鈕註銷,那對我來說沒有好處。我想我可以嘗試一下,看看它是否刪除... – Joelio
這就是我的意思,暫時用一個按鈕來嘗試它,這樣你就可以隔離真正的問題。然後閱讀這個http://stackoverflow.com/questions/4342083/rails-3-link-to-method-delete-not-working – pduey