在我的应用程序控制器中,我使用around_action在每个控制器操作中设置时区:
class ApplicationController < ActionController::Base
around_action :user_time_zone
def user_time_zone(&block)
Time.use_zone("Central America", &block)
end
end
但是在特定的控制器中,我不会将这个时区应用于某些操作,所以我想要这样的东西:
around_action :user_time_zone, except: {controller: "foo" & action: "bar" & action: "other_action"}
有一种方法吗?
答案 0 :(得分:5)
在您不需要此过滤器的特定控制器中,只需使用'skip_around_filter'跳过它
class FooController < ApplicationController
skip_around_filter :user_time_zone, :only => [:bar]
end
注意:Rails 3.2.1或更高版本
支持skip_around_filter