我有包含可選「expire_at」日期時間的帖子。Rails/ActiveRecord:如果未選中複選框,則將日期時間設置爲空
我試圖從我的表單保存這個日期時間,如果選中「custom_expire_at」複選框。如果未選中,則應將日期時間設置爲NULL。
我已經試過搗毀了expire_at參數,如果該複選框值不存在:
# Delete expiration dates if box is not checked
if params[:item][:custom_expire_at]
params[:item].delete(:custom_expire_at)
else
params[:item].delete(:expire_at)
end
然而,expire_at是多參數:
"expire_at(1i)"=>"2011", "expire_at(2i)"=>"2", "expire_at(3i)"=>"10", "expire_at(4i)"=>"21", "expire_at(5i)"=>"32"
試圖避免徹底摧毀這個日期選擇通過jQuery - 而不是從參數中彈出。
總結: 1)如果我不需要它們,我怎麼去掉這些參數? 2)即使我設法去掉expire_at,我不知道如何將值設置回NULL。如果我將expire_at設置爲零,我的模型將忽略更新。
def ensure_expire_at_has_a_value
self.expire_at ||= nil
end
任何想法?提前致謝!
工程就像一個魅力 - 謝謝。任何想法如何將我的日期時間設置回NULL? – jmccartie 2011-02-07 22:05:06