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