我设置的应用程序与Railscasts Time Zone Episode 1完全一致,但是当我运行
时<%= f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones %>
我收到此错误
用户#new
中的NoMethodError显示app / views / users / new.html.erb 第27行提出的地方:
当你没有时,你有一个零对象 期待它!你可能已经预料到了 数组的实例。发生错误 同时评估nil。&lt; =&gt;
第27行是上述行。我真的被困在这......
答案 0 :(得分:0)
您是否有名为time_zone的模型的数据库字段?它被命名为时区吗?
您需要使用以下内容进行迁移:
add_column :users, :time_zone, :string
然后
rake db:migrate
答案 1 :(得分:0)
我有完全相同的问题。它似乎与Rails 2.3.8有关,因为如果我恢复到我之前的版本(2.3.4,通过在/config/environment.rb中设置它),一切正常。看起来像个bug。我正在查看此错误报告和生成的补丁是否能解决此问题:https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/4942-activesupporttimezone-incorrectly-stores-bogus-values-in-zones_map#ticket-4942。
答案 2 :(得分:0)
答案 3 :(得分:0)
我遇到了同样的问题,导致我的一次黄瓜测试失败。我升级到Rails 2.3.9(从2.3.8开始)并且所有测试都通过了。祝你好运!