2016-12-27 55 views
0

我正在嘗試在rails中設置自定義日期選擇。 Rails爲這個所謂的date_select提供了一個表單助手。 (<%= f.date_select%在實踐>)自定義窗體在Rails中選擇日期

然而,HTML,這給爲:(只顯示了一個月簡潔)

<select id="event_starttime_2i" name="event[starttime(2i)]"> 
 
<option value="1">January</option> 
 
<option value="2">February</option> 
 
<option value="3">March</option> 
 
<option value="4">April</option> 
 
<option value="5">May</option> 
 
<option value="6">June</option> 
 
<option value="7">July</option> 
 
<option value="8">August</option> 
 
<option value="9">September</option> 
 
<option value="10">October</option> 
 
<option value="11">November</option> 
 
<option value="12" selected="selected">December</option> 
 
</select>

我希望它但是,有點聰明。我希望向用戶提供一個允許他們選擇從「今天」到「從今天起」的日期的下拉列表,而不是強制他們單獨選擇「年」/「月」/「日」。我主要關心的是Rails提供自定義「選擇」選項作爲「日期時間」屬性的能力。 (date_select幫助程序實際上發送3個http參數:starttime(1i),starttime(2i)和starttime(3i)。ActiveRecord必須在更新數據庫中的行之前將它們組合成一個Date。這是一個問題)

這是種什麼我要去爲我的:

<select> 
<option value="1"><%= Date.today %> </option> 
<option value="2"><%= Date.today + 1%></option> 
<option value="3"><%= Date.today + 2%></option> 
<option value="4"><%= Date.today + 3%></option> 
<option value="5"><%= Date.today + 4%></option> 
<option value="6"><%= Date.today + 5%></option> 
<option value="7"><%= Date.today + 6%></option> 
</select> 

最後的代碼片段不會在這裏運行。它看起來像這樣的做法:

<select> 
 
<option value="1">2016-12-27</option> 
 
<option value="2">2016-12-28</option> 
 
<option value="3">2016-12-29</option> 
 
<option value="4">2016-12-30</option> 
 
<option value="5">2016-12-31</option> 
 
<option value="6">2016-01-01</option> 
 
<option value="7">2016-01-02</option> 
 
</select>

我如何得到這個工作? (堅持提交作爲我的模型的日期時間屬性)

回答

0

如果您可以依賴JavaScript,我建議使用bootstrap-datepicker-rails。你可以找到一個很好的演示here。它是高度可定製的,安裝非常簡單。

相關問題