1

我正在将应用程序升级到 rails 3.0,从 rails 2.3,我升级了清除 gem(gem 'clearance','1.0.0.rc2'),似乎 sign_out 需要方法删除。

我将我的登出更新为:

<%= 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 %>
4

1 回答 1

0

好的,我在 rails 3 中找到了答案,即使删除 javascript 也来自外部来源。设置我们的 rails 3 设置的人不包括原型或 jquery,因此没有对此采取任何行动。配置https://github.com/rails/jquery-ujs应该可以解决问题!

于 2012-10-07T13:57:02.903 回答