我的rails应用程序中有几个控制器(UserController,PostController,SessionController等...)
在我想要使用gon gem.
传递json对象的所有操作之前我已将这行代码添加到我的应用程序助手中:
module ApplicationHelper
...
def adding_gon
gon.signed_in = signed_in?
end
end
我还添加了ApplicationHelper以供所有控制器使用:
class ApplicationController < ActionController::Base
include ApplicationHelper
end
问题是现在我需要去每个控制器并写下这行代码:
before_filter :adding_gon
这是将这行代码写入每个控制器的重复。
有没有办法让这个方法在所有操作之前执行?
答案 0 :(得分:3)
由于控制器通常继承自ApplicationController
,因此您不必将before_filter
添加到每个控制器。只需在ApplicationController
的类定义中添加一行,并在所有子控制器的操作之前执行过滤器,除非您从其他控制器继承。