创建新记录时,我想将默认日期设置为提前一个月。
对于其他字段,默认设置在迁移中,但在这种情况下您将在何处设置?
更新
我尝试将其添加到
模型/ invoice.rb
class Invoice < ActiveRecord::Base
before_create :set_due_date
private
def set_due_date
self.due_date = DateTime.now + 30
end
end
系统管理员/ invoice.rb
form do |f|
f.inputs "Options" do
f.input :due_date, :as => :datepicker
end
end
移植
create_table :invoices do |t|
t.datetime :due_date
end
答案 0 :(得分:2)
如果我理解正确,你应该能够在模型中添加一个回调&#34; due_date&#34;领域是。这样的事情可能是:
before_create :set_due_date
def set_due_date
self.due_date = DateTime.now + 30
end
答案 1 :(得分:0)
我最终使用了初始化。这导致在呈现页面之前设置值。
after_initialize :set_due_date
def set_due_date
self.due_date ||= DateTime.now + 30
end