可怕的标题,但这就是我所拥有的:
Loading development environment (Rails 3.2.8)
1.9.3p194 :001 > Product
=> Product(id: integer, name: string, date: datetime, created_at: datetime, updated_at: datetime, end_time: datetime, start_time: time)
1.9.3p194 :002 > p = Product.new
=> #<Product id: nil, name: nil, date: nil, created_at: nil, updated_at: nil, end_time: nil, start_time: nil>
1.9.3p194 :003 > p.start_time = "foo"
=> "foo"
1.9.3p194 :004 > p.start_time
=> 2000-01-01 00:00:00 UTC
我不希望将无效时间解析为有效时间。这导致我在表单提交中的验证出现问题。
这有点相关:Rails 3 - Validation for Time exists
并导致 github 中出现此问题:https ://github.com/rails/rails/issues/6045
我试着用眼睛追踪代码,但除了“foo”不应该解析并且它应该返回 nil 之外,什么都没有出现。
编辑:我创建了一个示例应用程序来显示这种确切的行为https://github.com/danbeaulieu/test-app
但实际上它只是一个具有单一模型的简单应用程序。