首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SessionsController#create中的railstutorial.org NoMethodError

SessionsController#create中的railstutorial.org NoMethodError
EN

Stack Overflow用户
提问于 2011-04-17 07:36:26
回答 1查看 1.1K关注 0票数 0
代码语言:javascript
复制
undefined method `current_user=' for #<SessionsController:0x1044926b8>
Rails.root: /Users/Bulow/ruby/sample_app
Application Trace | Framework Trace | Full Trace
app/helpers/sessions_helper.rb:4:in `sign_in'
app/controllers/sessions_controller.rb:20:in `create'
Request
Parameters:
{"commit"=>"Sign in",
 "session"=>{"password"=>"[FILTERED]",
 "email"=>"kennyvonbulow@gmail.com"},
 "authenticity_token"=>"/fWZncGEWuhQLIYMxRPXBcBJ37vzLoVrIz1QHU28u6w=",
 "utf8"=>"✓"}
Show session dump
Show env dump
Response
Headers:
None

无法简单地登录-而且我不知道如何更正它。我来回地看了一遍指南,似乎找不到导致这个错误的原因

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-24 20:58:30

在线教程在sessions_helper.rb中具有以下定义

代码语言:javascript
复制
  def sign_in(user)
    cookies.permanent.signed[:remember_token] = [user.id, user.salt]
    self.current_user = user
  end
.
.
.
  def sign_out
    cookies.delete(:remember_token)
    self.current_user = nil
  end

我将它们更改为以下内容,并且能够登录/注销,没有任何错误。

代码语言:javascript
复制
  def sign_in(user)
    cookies.permanent.signed[:remember_token] = [user.id, user.salt]
    @current_user = user
  end
.
.
.
  def sign_out
    cookies.delete(:remember_token)
    @current_user = nil
  end

此外,要确认登录的是您,请将URL localhost:3000/ users /(您的用户ID)更改为另一个用户ID。它将显示用户信息。点击顶部的个人资料链接,它将返回到你的个人资料。该应用程序已设置,以便此链接将到达登录用户的个人资料。

在那里我找到了解决方案。http://getsatisfaction.com/railstutorial/topics/undefined_method_current_user_for_sessionscontroller

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5690407

复制
相关文章

相似问题

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