2012-07-19 77 views
0

我是Rails的新手,正在使用版本3.2.6。到目前爲止,我已經制作了一個包含日期時間的簡單實踐應用程序。在我的表單部分我有Rails 3.2 datetime_select include_blank不按預期工作

<%= 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我的印象是,datetime_select選項散列的{ include_blank: true }部分將允許我設置爲空日期。但是,如果我有任何日期字段(但不是時間字段)設置爲空白選項,整個事情返回nil。我正在處理檔案數據,有時整個日期不知道,但只有一部分。我需要能夠捕獲所有的日期時間數據,如果它存在但留下任何未知的部分空白。我認爲這是include_blank的目的,但也許我誤解了文檔?

回答

0

所有include_blank都會在每個下拉菜單的開頭放置一個空白區域,以便您可以將其留空。沒有它,它只會默認值,並且將不會有空白。

要做你所描述的,你可以創建一個日期時間對象,並通過它設置小時,分鐘等的值,然後保存它。

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

+0

啊,謝謝你的解釋。我最終創建了自己的'FuzzyDate'模型來處理這些日期未知的部分。 – user1002119 2012-07-20 17:38:07