Alo*_*ari 10 ruby ruby-on-rails bundler
我试图更新红宝石在我们的项目到2.5及以上,并从捆绑1.17.2
到2.0.1
。这样做之后,运行我们的应用程序会在多个地方产生以下错误:
FrozenError - can't modify frozen String:
Run Code Online (Sandbox Code Playgroud)
这是尝试在控制器 ( Time.zone = current_user.location.time_zone
) 和其他地方设置时区的结果。
小智 1
您可以将 Time.use_zone(zone) 与块一起使用,例如:
class ApplicationController < ActionController::Base
around_action :set_time_zone
def set_time_zone
if logged_in?
Time.use_zone(current_user.location.time_zone) { yield }
else
yield
end
end
end
Run Code Online (Sandbox Code Playgroud)
https://api.rubyonrails.org/classes/Time.html#method-c-zone-3D
归档时间: |
|
查看次数: |
3531 次 |
最近记录: |