1

目前我正在将我的应用程序从 ruby​​ 1.8.7 升级到 ruby​​ 2。我得到了以下问题日期时间。

Ruby 1.8.7 控制台:

u=User.find :last
 => #<User id: 1191, login: "srivaishvi@gmail.com", name: "Sri Lakshmi", email: "srivaishvi.local@gmail.com" , created_at: "2014-01-27 12:09:04", updated_at: "2014-01-28 15:57:23"> 
u.updated_at="1/13/2014"
 => "1/13/2014" 
u.save
 => true 

Ruby 2 控制台:

u=User.find :last
 => #<User id: 1191, login: "srivaishvi@gmail.com", name: "Sri Lakshmi", email: "srivaishvi.local@gmail.com" , created_at: "2014-01-27 12:09:04", updated_at: "2014-01-28 15:57:23"> 
u.updated_at="1/13/2014"
 => "1/13/2014" 
u.save
 *****ArgumentError: argument out of range*****

我想要 Ruby 2 中的 Ruby 1.8.7 日期时间格式。我想继续使用我在 Ruby 1.8.7 中使用的格式。

4

2 回答 2

1

好的。现在我明白你的要求了。在这种情况下,您可以通过应用程序更改默认格式。请按照链接中提到的步骤,

http://blog.nicoschuele.com/posts/cheatsheet-to-set-app-wide-date-and-time-formats-in-rails

于 2014-01-29T19:22:16.937 回答
0

这不是更新 updated_at 字段的正确方法。记录将被更新,但它不会是您真正想要的日期。

>> u.updated_at = "1/13/2014"
=> "1/13/2014"
>> u.save
=> true
>> u.updated_at
=> Wed, 29 Jan 2014 18:12:51 UTC +00:00
于 2014-01-29T18:21:41.260 回答