我以为方法,如名称和电子邮件默认在rails?为什么我得到错误未定义的方法名称为nil:NilClass与Ruby on Rails?
在我的静态页面查看,在profile.html.erb我:
<% if logged_in? %>
<% provide(:title, @user.name) %>
<% else %>
<% provide(:title, 'Profile')%>
<% end %>
我把我的static_page_controller
def profile
@user = User.find_by_remember_token(:remember_token)
end
当我去到控制台User.find_by_remember_token(“actualtoken “).name返回适当的用户名,但:remember_token不。我该如何制作:remember_token =登录的用户记忆令牌?
在我sessions_helper我有
def log_in(user)
cookies.permanent[:remember_token] = user.remember_token
current_user = user
end
def logged_in?
!current_user.nil?
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= user_from_remember_token
end
def log_out
current_user = nil
cookies.delete(:remember_token)
end
private
def user_from_remember_token
remember_token = cookies[:remember_token]
User.find_by_remember_token(remember_token) unless remember_token.nil?
end
end
将其复制到我的static_pages_helper没有完成任何事情。
感谢所有有用的信息。我不得不用cookies替换params:User.find_by_remember_token(params [:remember_token]),解决了错误谢谢。 – Laser 2012-03-22 01:45:45