用户可以在数据库中分配具有due_time_at
数据类型的字段TIME
。在他们更新一段时间之后,他们可能会改变主意并且不想要特定的时间。目前,当用户尝试将时间设置回NULL
时,它只会将字段设置为数据库中的00:00
。有没有办法让这个回到nil
?
我能够通过强制""
发布帖子中的所有属性来获得所需的结果。即使您将时间设置为params[:something][:'due_time_at(1i)']
,我看起来字段params[:something][:'due_time_at(2i)']
,params[:something][:'due_time_at(3i)']
,""
仍然包含数据。如果有人有更好的方式让我知道。
if params[:something][:'due_time_at(4i)'] == ""
params[:something][:'due_time_at(1i)'] = ""
params[:something][:'due_time_at(2i)'] = ""
params[:something][:'due_time_at(3i)'] = ""
params[:something][:'due_time_at(4i)'] = ""
params[:something][:'due_time_at(5i)'] = ""
end
答案 0 :(得分:1)
这应该有效:
obj.update_attributes({:due_time_at => nil})
如果要将params散列传递给update_attribute方法,则可以检查其值并将:due_time_at值设置为nil。