如何在每个页面重新加载时调用一次方法?由于多个控制器用于执行操作,在 ApplicationController 中定义 before_filter 失败
问问题
172 次
1 回答
2
当您说在一个操作中使用多个控制器时,您能更具体一点吗?通常,负责该操作的控制器中的 before_filter 就足够了。
如果您希望 before 过滤器影响多个控制器中的特定方法,则将方法本身放在 ApplicationController 中,但将 before_filter 放在包含该操作的每个控制器中。
class ApplicationController
def foo
@bar = 'bar'
end
end
class UserController
before_filter :foo, :only => [:method1]
def method1
...
end
def method2
...
end
end
class StuffController
before_filter :foo, :only => [:method2]
def method1
...
end
def method2
...
end
end
class UnimportantController
# No before filter, neither of these methods will call :foo
def method1
...
end
def method2
...
end
end
于 2013-05-21T08:23:23.250 回答