Ruby on rails 3 Rails 3.2.8记录`保存';方法执行时没有错误,但没有执行';不要更改数据库
以下是rails控制台中的输出:Ruby on rails 3 Rails 3.2.8记录`保存';方法执行时没有错误,但没有执行';不要更改数据库,ruby-on-rails-3,Ruby On Rails 3,以下是rails控制台中的输出: Loading development environment (Rails 3.2.8) irb(main):001:0> u=User.first User Load (0.2ms) SELECT "users".* FROM "users" LIMIT 1 => #<User id: 1, name: "scorpio_et", passwd: "xxx", updated_at: "2013-01-07 12:09:26",exp
Loading development environment (Rails 3.2.8)
irb(main):001:0> u=User.first
User Load (0.2ms) SELECT "users".* FROM "users" LIMIT 1
=> #<User id: 1, name: "scorpio_et", passwd: "xxx", updated_at: "2013-01-07 12:09:26",expire_time: "2000-01-01 12:09:15">
irb(main):002:0> u.expire_time=Time.now
=> 2013-01-07 20:16:39 +0800
但是当我从数据库中提取时,“expire\u time”字段没有改变
irb(main):004:0> User.first
User Load (0.4ms) SELECT "users".* FROM "users" LIMIT 1
=> #<User id: 1, name: "scorpio_et", passwd: "xxx", updated_at: "2013-01-07 12:16:42", expire_time: "2000-01-01 12:16:39">
我注意到expire\u time'字段是
time',但我认为应该是'datetime'
我的迁移是:
类AddExpireTimeToUsers12:09:15
->12:16:39
),但看起来过期时间
有时间
类型,而不是日期时间
。因此,日期部分不存储在数据库中。如果调用u.save,是否会出现异常代码>?如果是,请将错误信息添加到您的问题中。您是否使用rails控制台
命令加载rails环境?如果是,您的用户模型中是否存在限制更新访问的expire\u time
字段约束。另外,尝试更新任何其他字段以检查其是否得到更新。是的,我刚刚发现我将datetime
拼写错误为datatime
。非常感谢你们
irb(main):004:0> User.first
User Load (0.4ms) SELECT "users".* FROM "users" LIMIT 1
=> #<User id: 1, name: "scorpio_et", passwd: "xxx", updated_at: "2013-01-07 12:16:42", expire_time: "2000-01-01 12:16:39">
create_table "users", :force => true do |t|
t.string "name"
t.string "passwd"
t.string "jsoncookie"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.time "expire_time"
end