【发布时间】:2014-08-31 16:51:23
【问题描述】:
我有以下代码:
around_filter :event_time_zone
def event_time_zone(&block)
@event.present? ? Time.use_zone(@event.venue.time_zone_name, &block) : yield
end
我把它放在我的 ApplicationController 中。
问题是实例变量@event 在调用此 around_filter 时从未设置。然而,它在每个资源控制器中的操作之前可用(通过使用 CanCan),但是我不想在所有这些控制器中撒上一堆 around_filter 调用。
有没有一种简单的方法可以让我使用上面的代码,但又不会到处重复自己?
我可以创建基于用户的 time_zone,但如果用户在不同时区管理事件怎么办?唯一要显示的相关日期只能在事件时区中。
【问题讨论】: