2013-06-12 36 views
0

我軌_form代碼:簡單的表格格式的時間字段,以顯示'21:30' ,而不是整個UTC時間字符串

<%= simple_form_for @admin_event, :html => { :class => 'main-form' } do |f| %> 
    <%= f.input :time_of_event, :format => l(:time_of_event, '%d %b. %Y'), :as => :string, :label => 'Hora', :input_html => { :class => 'thin', :placeholder => 'eg: 20:30' } %> 
<% end %> 

我收到錯誤消息:

Cannot convert symbol to string. 

如何設置此_form始終使用時間轉換器顯示此字段,以便在數據庫具有完整字段(2000-01-01 19:30:00.000000)的情況下以僅顯示的格式顯示3210?

回答

0

您可以將attr_accessor添加到您的模型(例如formatted_time)並使用此字段獲取fromatted時間並進行設置。在保存之前,您可以解析@formatted_time的值並將其應用於time_of_event字段。

7

用以下解決這樣的:在我的ApplicationHelper創建方法 「TIME_FORMAT」:

def time_format(datetime) 
    datetime.strftime('%H:%M') unless datetime.blank? 
end 

然後在表格上:

<%= f.input_field :start_time, :as => :string, :value => time_format(f.object.start_time) %> 

希望這會幫助你。