私は名前や電子メールなどの方法がレールにデフォルトであると思ったのですか?エラーが発生するのはなぜですか?nilのための未定義メソッド `name ':Ruby on RailsのNilClassですか?
<% 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に入れる:私の静的なページで
はprofile.html.erbに私が持っている、ビュー").nameは私に適切なユーザー名を返しますが、remember_tokenはそれを返しません。どうすればいいですか?remember_token =ログインしたユーザーがトークンを覚えていますか?私sessions_helperで
は、私が何かを達成していなかった私のstatic_pages_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
持っています。
すべての有益な情報ありがとう。 paramsをCookieに置き換えなければならなかった:User.find_by_remember_token(params [:remember_token])、これはエラーのおかげで解決した。 – Laser