-3
自解釋標題。我有一個sessions_helper.rb文件,其中有方法logged_in?檢查用戶是否已登錄,但是當我嘗試使用if語句更改視圖文件中的鏈接時,它不起作用。無法呼叫logged_in?方法來查看更改佈局鏈接
代碼:
sessions_helper
module SessionsHelper
#logs in user
def log_in(user)
session[:user_id] = user.id
end
def current_user
@current_user ||= User.find_by(id: session[:user_id])
end
def logged_in?
:current_user.nil?
end
end
sessions_controller
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
# log user in
log_in user
redirect_to user
視圖文件
<% if logged_in? %>
# show new layout links with logout option
<% else %>
# show pre-login layout links
謝謝。我也從這裏的帖子意識到,從助手「調用」一種方法是不正確的術語,我可以知道什麼是? – Solias
@Solias「Calling」沒問題,我只是想強調一下這個詞來說清楚。但我看到我只是添加了混亂。 – Gerry