【发布时间】:2013-10-14 19:56:24
【问题描述】:
注意:这是我的第一篇文章,请多多关照。我是 Rails 新手,所以很可能我错过了一些简单的东西。
我在本地使用 Ruby on Rails 应用程序,在尝试填写测试表单时收到此 ArgumentError:
invalid argument to TimeZone[]: nil
Application Trace 显示如下:
app/models/venue.rb:117:in `timezone'
app/controllers/events_controller.rb:80:in `block in create'
venue.rb 中的第 116-118 行:
def timezone
ActiveSupport::TimeZone.new(timezone_name)
end
events_controller.rb 中的第 78-87 行:
["start", "end"].each do |t|
month, day, year = params["event"]["#{ t }_date"].split("/")
@event.send("#{ t }s_at=", @event.venue.timezone.local_to_utc(Time.utc(
("20" + year).to_i,
month.to_i,
day.to_i,
military_hours(t),
params["#{ t }_minute"].to_i,
0
)))
该表单在实时站点上正常工作,因此我可能不正确地设置了我的开发环境。谁能指出我正确的方向?
更新
class Venue
key :timezone_name, String
def set_timezone_name
tz = Timezone.contains(self)
self.timezone_name = tz.name if tz
end
【问题讨论】:
-
timezone_nameis null 是venue对象之一。timezone_name的代码是什么?是变量的方法吗? -
您好 Rajesh,感谢您的回复。编辑我的原始帖子以解决您的问题
-
哪个代码负责设置
timezone_name的值? -
再次更新,谢谢!
标签: ruby-on-rails ruby ruby-on-rails-3 timezone activesupport