Ruby on rails 3 railstutorial.org会话控制器中的命名错误#创建 未定义的方法“当前用户=”用于# root:/Users/Bulow/ruby/sample\u应用程序 应用程序跟踪|框架跟踪|完整跟踪 app/helpers/sessions\u helper.rb:4:in“登录” app/controllers/sessions\u controller.rb:20:in'create' 要求 参数: {“提交”=>“登录”, “会话”=>{“密码”=>“[已筛选]”, “电子邮件”=>”kennyvonbulow@gmail.com"}, “真实性令牌”=>“/fWZncGEWuhQLIYMxRPXBcBJ37vzLoVrIz1QHU28u6w=“, “utf8”=>“utf8”} 显示会话转储 显示环境转储 回应 标题: 没有一个
无法简单地登录-我不知道如何更正它。我反复阅读了指南,似乎找不到导致此错误的错误。在线教程在sessions\u helper.rb中有以下定义Ruby on rails 3 railstutorial.org会话控制器中的命名错误#创建 未定义的方法“当前用户=”用于# root:/Users/Bulow/ruby/sample\u应用程序 应用程序跟踪|框架跟踪|完整跟踪 app/helpers/sessions\u helper.rb:4:in“登录” app/controllers/sessions\u controller.rb:20:in'create' 要求 参数: {“提交”=>“登录”, “会话”=>{“密码”=>“[已筛选]”, “电子邮件”=>”kennyvonbulow@gmail.com"}, “真实性令牌”=>“/fWZncGEWuhQLIYMxRPXBcBJ37vzLoVrIz1QHU28u6w=“, “utf8”=>“utf8”} 显示会话转储 显示环境转储 回应 标题: 没有一个,ruby-on-rails-3,Ruby On Rails 3,无法简单地登录-我不知道如何更正它。我反复阅读了指南,似乎找不到导致此错误的错误。在线教程在sessions\u helper.rb中有以下定义 undefined method `current_user=' for #<SessionsController:0x1044926b8> Rails.root: /Users/Bulow/ruby/sample_app Application Trace | Framework Trace | Full Trace app/helper
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
我将它们更改为以下内容,并且能够在没有任何错误的情况下登录/注销
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
另外,要确认是您登录,请将URL localhost:3000/users/(您的用户ID)更改为另一个用户ID。它将显示用户信息。单击顶部的配置文件链接,它将返回到您的配置文件。该应用程序已设置,以便此链接可以访问登录用户的配置文件
在那里我找到了解决办法。
请发布此错误的代码片段。
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