我的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
答案 0 :(得分:1)
这与您的其他问题有关。使用attr_accessible :time
而非attr_accessor
。见"WARNING: Can't mass-assign protected attributes"
答案 1 :(得分:0)
或者您可以在创建后使用update_attribute(:field,“value”)
进行设置