我一直在通过Hartl教程和一些railscasts来学习RoR。在实现railscast“记住密码”复选框后,我不能再退出Heroku托管站点上的示例用户。一切在当地都很好,但在Heroku上,如果我尝试签名,Flash会告诉我已成功注销,但实际上并没有发生任何事情。即使在数据库迁移后,问题仍然存在。我认为我的问题与this one类似,但我看到没有人回答这个问题。有没有人有任何想法?我正在使用bcrypt-ruby
宝石(版本3.0.1)。Heroku托管站点无法注销
我在我的会议辅助sign_in
动作看起来是这样的:
def sign_in(user)
if params[:remember_me]
cookies.permanent[:remember_token] = user.remember_token
else
cookies[:remember_token] = user.remember_token
end
self.current_user = user
end
而且我sign_out
动作看起来是这样的:
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
@abhir - 我觉得这些都是从日志中的相关位:
2013-04-04T14:13:34+00:00 app[web.1]: Started DELETE "/signout" for 108.228.60.12 at 2013-04-04 14:13:34 +0000
2013-04-04T14:13:34+00:00 app[web.1]: Parameters: {"authenticity_token"=>"<TOKENWASHERE>"}
2013-04-04T14:13:34+00:00 app[web.1]: Redirected to https://quiet-spire-8115.herokuapp.com/
2013-04-04T14:13:34+00:00 app[web.1]: Processing by SessionsController#destroy as HTML
2013-04-04T14:13:34+00:00 app[web.1]: Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
2013-04-04T14:13:34+00:00 heroku[router]: at=info method=POST path=/signout host=quiet-spire-8115.herokuapp.com fwd="108.228.60.12" connect=11ms service=15ms status=302 bytes=105
2013-04-04T14:13:34+00:00 app[web.1]: Started GET "/" for 108.228.60.12 at 2013-04-04 14:13:34 +0000
2013-04-04T14:13:34+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
正如你所看到的,该网站是here。谢谢你的帮助!
您可以发布您的Heroku'上logs'一些signout结果?你还有一个链接到heroku网站? – abhir 2013-04-04 08:12:31
看起来像你的饼干洁具没有正确更新。另外,在sign_out方法中,我看不到任何Flash消息。 – taro 2013-04-04 11:06:19
@taro - 感谢您的建议!我删除了cookie,但似乎没有解决问题。此外,闪光消息是在控制器(不是帮手),似乎工作正常。谢谢! – DTrain 2013-04-04 14:35:21