ActiveRecord不设置日期时间字段

时间:2010-10-15 16:30:13

标签: ruby-on-rails datetime activerecord

我的MotionRecord模型中有一个名为time的日期时间字段。我尝试使用此命令设置它:

MotionRecord.create({:time=> "2010-10-15 15:10:24", :chart_id=>1})

奇怪的是,这导致以下输入:

<MotionRecord id: 1, time: nil, chart_id: 1>

我不确定我做错了什么。

编辑:这是我的模特。

class MotionRecord < ActiveRecord::Base
  belongs_to :chart
  belongs_to :activity

  attr_accessor :time
end

和我的架构

create_table :motion_records do |t|
  t.datetime :time
  t.integer :chart_id
  t.integer :activity_id

  t.timestamps
end

2 个答案:

答案 0 :(得分:1)

这与您的其他问题有关。使用attr_accessible :time而非attr_accessor。见"WARNING: Can't mass-assign protected attributes"

答案 1 :(得分:0)

或者您可以在创建后使用update_attribute(:field,“value”)

进行设置