我正在使用Rails 3.1。我有一个数据库列t.datetime“end_at”。如果我在创建对象时输入日期,那么我可以稍后更改值(更新)。但如果我把它留空(NULL),我发现我无法更新它。我确认该字段的名称和新值在params中。为什么呢?
def update
begin
model = MyModel.find(params[:id])
model.update_attributes!(params[:my_model])
rescue ActiveRecord::RecordNotFound => e
#something
end
end
答案 0 :(得分:1)
你需要确保两件事情是真的:
params[:end_at]
必须包含nil或DateTime。通常,params不会作为日期时间进入。还要研究多参数属性。