gpt4 book ai didi

ruby-on-rails - rails 4-1 错误:ThreadSafe::Cache 的未定义方法 `map'

转载 作者:行者123 更新时间:2023-12-04 05:57:39 25 4
gpt4 key购买 nike

我刚刚更新到 rails-4-1-stable 并且遇到了以下错误:

NoMethodError: undefined method `map' for #<ThreadSafe::Cache:0x007fca66162668>

错误是由这行代码(在我的用户模型中)引起的,我想在其中设置所有时区以进行验证:

validates :time_zone, inclusion: { in: ActiveSupport::TimeZone.zones_map.map{ |el| el.last.name }, allow_nil: true }

为什么会发生这种情况,最好的解决方法是什么?

感谢帮助

最佳答案

Gary Wright 对 sjobe's link 的评论钉牢它, ActiveSupport::TimeZone.zones_map 的实现在 Rails 4.1 中已经改变,现在返回一个 ThreadSafe::Cache 对象,它不响应 include? 方法。

您可以通过以下方式修复它:

validates :time_zone, inclusion: { in: ActiveSupport::TimeZone.zones_map.keys }

其中 ActiveSupport::TimeZone.zones_map.keys 是一个时区名称数组,它确实响应include? 方法

关于ruby-on-rails - rails 4-1 错误:ThreadSafe::Cache 的未定义方法 `map',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22748299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com