我正在建立一个提交调查的网站,我让访问者可以选择指定他们创建的特定事件的时间和日期:
<table>
<tr>
<td><%= text_field(:day, "", placeholder: "DD") %></td>
<td><%= text_field(:month, "", placeholder: "MM") %></td>
<td><%= text_field(:year, "", placeholder: "YYYY") %></td>
<td><%= text_field(:hour, "", placeholder: "HH") %> : <%= text_field(:minute, "", placeholder: "MM") %> </td>
<td><%= radio_button_tag(:ampm, "AM") %></td><td><%= label_tag(:ampm, "AM") %></td>
<td></td>
<td><%= radio_button_tag(:ampm, "PM") %></td><td><%= label_tag(:ampm, "PM") %></td>
</tr>
</table>
我的 Survey 模型有一个 :time_of_event 属性,该属性包含一个 Time 对象,该对象表示填写表单的用户指定的时间。我打算利用 Time.parse 从用户指定的 'YYYY-MM-DD HH:MM:00' 中创建一个 Time 对象。
我使用 Rails 表单的经验很少——我可以创建基本的 text_field 标签,并且可以在提交表单时将这些标签中的输入保存到特定模型的属性中。
我如何(如果有的话)计算表单字段中的输入,并将计算结果保存到模型的属性中?
换句话说,最终可能会看起来像:
survey.time_of_event = Time.parse(form_params[:year] + '-' + form_params[:month] ...etc)