首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法完全注销- RailsTutorial.org -第8章

无法完全注销- RailsTutorial.org -第8章
EN

Stack Overflow用户
提问于 2012-12-18 07:24:56
回答 1查看 127关注 0票数 0

我正在Railstutorial.org的教程中学习,并且已经通过测试完成了第8章。我的问题是,如果我正确地遵循指南的代码,我可以登录,但无法注销

如果我点击“注销”,我将被重定向到root_path,但是作为一个仍然登录的成员。

我想我追踪到这种行为是因为我的治疗助手。具体如下:

代码语言:javascript
复制
  def current_user
    @current_user ||= User.find_by_remember_token(cookies[:remember_token])
  end

通过rails控制台和pry,我能够确定cookies:remember_token是零,但是由于我的用户的remember_token也是零,find_by_remember_token在说,“嘿,没有==!太好了!我们找到了用户!”但这显然不是我们想要的行为。

我通过将current_user方法更改为以下方法修复了它:

代码语言:javascript
复制
  def current_user
   @current_user ||= cookies[:remember_token] && User.find_by_remember_token(cookies[:remember_token])
  end

我完全接受并理解这很可能是我代码中的一个错误。我在这个项目中找到了Michael的承诺,并对我们的文件进行了比较,但没有发现任何差异。对这里可能发生了什么有什么想法吗?

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

发布于 2012-12-18 07:31:10

把这个放进你的..。

主计长:

代码语言:javascript
复制
def logout
   reset_session
   redirect_to :controller => 'classified', :action => 'list'
end

在您看来:您需要添加一个注销链接。

代码语言:javascript
复制
<% else %>
    <p><%= "Welcome #{session[:user].login}!" -%></p>
    <p><%= link_to 'Logout', :controller => 'user',:action => 'logout' -%></p>
<% end %>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13928229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档