0

我的导轨_form代码:

<%= 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) 时,以它只会显示的形式显示19:30

4

2 回答 2

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) %>

希望这会帮助你。

于 2013-10-20T22:11:51.393 回答
0

您可以将 attr_accessor 添加到您的模型中(例如 formatted_time),并使用此字段来获取并设置它。在保存之前,您可以解析 @formatted_time 的值并将其应用于 time_of_event 字段。

于 2013-06-12T05:40:36.677 回答