开发者

railstutorial.org NoMethodError in SessionsController#create

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 se开发者_高级运维ssion dump
Show env dump
Response
Headers:
None

unable to log in simply - and i have no clue how to correct it. been all over the guide back and forth and can't seem to find the error that's causeing this


The online tutorial has the following definitions in sessions_helper.rb

  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

I changed them to the following and was able to login/logout without any errors.

  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

Also, to confirm it's you that's logged in, change the URL localhost:3000/users/(your user ID) to another user ID. It'll show that users info. Click on the profile link at the top and it'll go back to your profile. The app is set up so that this link will got to the logged in user's profile.

Where I found the solution. http://getsatisfaction.com/railstutorial/topics/undefined_method_current_user_for_sessionscontroller

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜