【发布时间】:2017-05-12 01:05:37
【问题描述】:
我正在尝试在 Rails 中设置自定义日期选择。 Rails 为此提供了一个名为 date_select 的表单助手。 ( 在实践中)
然而,它给出的 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>
最后的代码 sn-p 不会在这里运行。在实践中看起来像这样:
<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>
如何让它工作? (坚持作为我模型的日期时间属性提交)
【问题讨论】:
标签: html ruby-on-rails forms drop-down-menu