在我的投票系統中,我有「expire_at」的input tag
。我想要做的是用date.the日期爲動態填充input tag
7天后。如何填充「輸入」標籤的默認值動態
例如,如果我對「expire_at」不做任何處理,它應該是2011-10-23作爲默認值。(2011-10-16 with 7days later),如何?
在我的投票系統中,我有「expire_at」的input tag
。我想要做的是用date.the日期爲動態填充input tag
7天后。如何填充「輸入」標籤的默認值動態
例如,如果我對「expire_at」不做任何處理,它應該是2011-10-23作爲默認值。(2011-10-16 with 7days later),如何?
如果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') %>
如果只有一種特定形式,請在磚匠的回答中進行: (無需修改模式當然L)
在你看來:
<%= f.text_field :expires_at, :value => (@vote.expires_at.present? ? @vote.expires_at : 7.days.from_now).strftime('%Y-%m-%d') %>
<%= f.text_field :expires_at, :value => @vote.new_record? ? Time.zone.now + 7.days : @vote.expires_at %>
我不會用''new_record因爲如果驗證失敗,用戶的輸入將被覆蓋?所以這是一個修改後的版本: '<%= f.text_field:expires_at,:value =>(@ vote.expires_at.present??@ vote.expires_at:7.days.from_now).strftime('%Y-% m-%d')%>' – sled
好點的雪橇。謝謝。發表一個新的答案,你的更好。 – bricker