我正在使用Rails 3.1。我有一个数据库列t.datetime“end_at”。如果我在创建对象时输入日期,那么稍后可以更改该值(更新)。但是如果我将它留空(NULL),我发现我无法更新它。我证实了该字段的名称和新值是在params中。为什么?Rails AR无法更新NULL日期时间字段
def update
begin
model = MyModel.find(params[:id])
model.update_attributes!(params[:my_model])
rescue ActiveRecord::RecordNotFound => e
#something
end
end
有没有错误?对'end_at'的任何验证? – codeit 2013-03-20 16:58:05
没有错误。我没有任何验证。我实际上有两个字段“start_at”和“end_at”。如果我在创建对象时填充“start_at”并回来编辑记录,我可以将start_at更改为新日期,但我无法将NULL从end_at更改为其他任何内容。 – kimkunjj 2013-03-20 17:02:08
你可以从你的日志发布'params'吗? – codeit 2013-03-20 17:04:27