我以爲方法,如名稱和電子郵件默認在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