0

我对 Rails 很陌生,正在使用 3.2.6 版。到目前为止,我已经制作了一个包含日期时间的简单练习应用程序。在我的部分表格中,我有

<%= form_for(@item) do |f| %>
  [...snip irrelevant form fields...]
  <div class="field">
    <%= f.label :copyright_date, %><br />
    <%= f.datetime_select :copyright_date, { include_blank: true } %>
  </div>
<% end %>

从选项文档http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-date_select我的印象是选项哈希的{ include_blank: true }部分datetime_select将允许我设置空日期。但是,如果我将任何日期字段(但不是时间字段)设置为空白选项,则整个内容将返回nil. 我正在处理有时不知道整个日期而只知道一部分的档案数据。如果存在,我需要能够捕获所有日期时间数据,但将任何未知部分留空。我认为这就是include_blank目的,但也许我误解了文档?

4

1 回答 1

0

include_blank 所做的只是在每个下拉菜单的开头放置一个空格,因此您可以选择将其留空。没有它,它将默认为值,并且无法将其留空。

要执行您所描述的操作,您可以创建一个日期时间对象,并通过它设置小时、分钟等的值,然后保存它。

http://corelib.rubyonrails.org/classes/DateTime.html#M000524

于 2012-07-19T03:08:14.803 回答