我試圖從一個特定頁面 - 登錄頁面中排除控制器的操作。我希望代碼在其他頁面上執行。Ruby on Rails得到檢查我們在哪個頁面
在我的控制,我有:
def user_check
@current_user ||= User.find(session[:user_id]) if session[:user_id]
if (session[:user_id])
@loginstatus = "You are logged in as: #{@current_user.name}"
elseif current_page?('/signin') == true
@loginstatus = "Please login to use this application"
else
redirect_to '/sessions/new', :error => "You are not logged in"
end
end
是給我找麻煩該生產線是
elseif current_page?('/signin') == true
我與
<%= user_check %>
調用這個在application.html.erb
當我這樣做,我得到
pp/views/layouts/application.html.erb其中第94行上升: 未定義的方法`current_page?'爲# Rails.root:C:/用戶/ cmendla/RubymineProjects /器Rl2
但是 - 如果我把一個XX.html.erb頁面之後,它工作正常。
<%= render(:partial => 'shared/alt_nav') if current_page?('/help') %>
我不明白的是爲什麼current_page?檢查在頁面上工作,但在def中elseif
內不起作用。
Ruby沒有'elseif'。使用'elsif' –