我对铁路有点新意。
说我想做点什么:
def is_admin?
@admin = User.grab(session[:username]).admin
end
我可以在ApplicationController中定义它,但是我必须在每个后续控制器中的每个方法中调用is_admin?()
。有没有办法绕过这个我不知道的?
答案 0 :(得分:1)
在每个控制器的开头使用:before_filter
:
before_filter :is_admin
至少那时你不必为每一种方法都这样做。
答案 1 :(得分:0)
我不确定调用is_admin?
的确切问题是什么。在Ruby中调用方法非常便宜。您可能希望“记住”返回值,以避免每次调用方法时都调用数据库:
def is_admin?
unless defined?(@is_admin)
@is_admin = User.grab(session[:username]).admin
end
@is_admin
end
由于is_admin?
可以返回假名值,||=
将无效。