Activeadmin设置默认日期

时间:2014-10-30 21:04:05

标签: ruby-on-rails activeadmin

创建新记录时,我想将默认日期设置为提前一个月。

对于其他字段,默认设置在迁移中,但在这种情况下您将在何处设置?

enter image description here


更新

我尝试将其添加到

模型/ 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

2 个答案:

答案 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