Rails无法写入数据库字段

时间:2012-07-24 19:54:36

标签: ruby-on-rails activerecord

我正在尝试对没有任何验证的字段进行非常简单的更新。但是,更新始终失败。这是代码的样子:

# model
class Event < ActiveRecord::Base

  attr_accessible :start_time

  ..

end

# migration
class CreateEvents < ActiveRecord::Migration
  def change
    t.datetime :start_time
  end
end

# console
Event.first.update_attribute(:start_time, "02:00")

在Rails日志中运行的查询甚至不包含start_time属性!

  

(0.2ms)BEGIN

     

(4.5ms)UPDATE events SET updated_at =   '2012-07-24 19:51:33',repeat_days ='--- \ n- wed \ n- sat \ n- sun \ n',   event_date_list ='--- [] \ n \ n'在哪里eventsid = 3763

     

(5.5ms)COMMIT

我无法理解这一点。任何人都可以帮我理解这个问题的根本原因吗?

1 个答案:

答案 0 :(得分:2)

您传递的是字符串,而不是日期,时间或日期时间对象。

看起来您只想存储时间,而不是附加日期。但也许你打算附上一个约会。如果您还想存储日期,请查看Datetime类。

如果您只想存储时间(小时,分钟和秒),我建议您将start_time字段更改为整数,并存储秒数:2.hours或{ {1}}。

您可以轻松地将其转换为时间。