我正在使用Rails 4.2.7。我想根据特定条件定义过滤器。所以我有
class ApplicationController < ActionController::Base
before_filter :store_last_page_visited unless logged_in?
…
private
def current_user
@current_user ||= User.find_by(id: session[:user_id])
end
def logged_in?
!current_user.nil?
end
def store_last_page_visited
session[:last_page_visited] = request.url
end
helper_method :current_user, :logged_in?
但是,当我访问我的应用程序中的页面时,我收到错误
undefined method `logged_in?' for ApplicationController:Class Did you mean? logger
当我指定时,我需要做些什么来让我的过滤器执行?
答案 0 :(得分:0)
before_filter
在类的上下文中执行。
#logged_in?
在类实例的上下文中定义。
试试这个:
def store_last_page_visited
return if logged_in?
session[:last_page_visited] = request.url
end