我使用around_action
将Rails应用程序的时区临时设置为当前用户选择的时区。我的代码看起来像这样:
around_action :set_time_zone, if: :current_user
private
def set_time_zone(&block)
Time.use_zone(current_user.time_zone, &block)
end
字符串
我的问题是,在这种情况下,&block
代表什么?
我的理解是,它表示在将时区设置回应用程序的默认时区之前,我们希望将时区设置为用户时区的持续时间。
在这种情况下是持续时间的yield
?
1条答案
按热度按时间nsc4cvqm1#
根据https://api.rubyonrails.org/classes/Time.html#method-c-use_zone:
第一个月
允许Time.zone在提供的块内本地覆盖www.example.com;完成后将Time.zone重置为现有值。
字符串
所以时区的改变只在你传递给这个方法的块中可见。
看一看:
型
输出为:
型