在我的投票系统中,我有input tag
的“expire_at”。我想要做的是用input tag
动态填充日期。日期是7天后。
例如,如果我对“expire_at”没有任何作用。默认情况下应该是2011-10-23。(2011-10-16 7天后),怎么样?
答案 0 :(得分:1)
<%= f.text_field :expires_at, :value => @vote.new_record? ? Time.zone.now + 7.days : @vote.expires_at %>
答案 1 :(得分:1)
如果+7天是适用于任何地方的默认设置,请将其放入您的模型中:
在你的模特中:
class MyModel < ActiveRecord::Base
def expires_at
# I'm not sure if this works, if not
# wrap it in a if-clause like:
# read_attribute(:expires_at).present? ? read_attribute(:expires_at) : 7.days.from_now
read_attribute(:expires_at) || 7.days.from_now
end
end
在您看来:
<%= f.text_field :expires_at, @vote.expires_at.strftime('%Y-%m-%d') %>
如果它仅适用于一种特定形式,请像砖块的答案一样: (当然没有修改你的模型)
在您看来:
<%= f.text_field :expires_at, :value => (@vote.expires_at.present? ? @vote.expires_at : 7.days.from_now).strftime('%Y-%m-%d') %>