在我的 before_filter 子句中获取未定义的方法
Getting undefined method in my before_filter clause
我正在使用 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
我需要做哪些不同的事情才能在我指定时执行我的过滤器?
before_filter
在 class.
的上下文中执行
#logged_in?
是在 class 实例的上下文中定义的。
试试这个:
def store_last_page_visited
return if logged_in?
session[:last_page_visited] = request.url
end
我正在使用 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
我需要做哪些不同的事情才能在我指定时执行我的过滤器?
before_filter
在 class.
#logged_in?
是在 class 实例的上下文中定义的。
试试这个:
def store_last_page_visited
return if logged_in?
session[:last_page_visited] = request.url
end