在编辑字段中格式化Rails

Soo*_*uNe 1 ruby-on-rails

可以在"编辑"屏幕上使用rails格式助手吗?格式助手(number_to_currency,number_to_percent)非常适合索引/显示,但我没有看到如何在编辑期间应用它们.我有一个自定义heler格式化日期:

def my_date_helper(datetime)
    datetime.nil? ? "" : datetime.strf('%d-%b-%Y')
end
Run Code Online (Sandbox Code Playgroud)

例如,如果我有一个starts_at属性,即用户使用jQuery日期选择器进行交互,则<%= f.text_field :starts_at %>rails 中edit.html.erb中的值将被格式化为:

2011/12/19 00:00:00

我希望向用户呈现一致的格式,因此我想应用我在show/index中使用的相同格式助手,以便编辑文本字段显示如下格式:

19-Jan-2011

Dyl*_*kow 5

您可以为编辑表单执行此操作:

<%= f.text_field :starts_at, :value => my_date_helper(@my_model.starts_at) %>
Run Code Online (Sandbox Code Playgroud)

此外,jQuery的日期选择器包含一个dateFormat参数,因此您可以在javascript中执行以下操作:

jQuery("#my_model_starts_at").datepicker({
  dateFormat: 'd/M/yy'
});
Run Code Online (Sandbox Code Playgroud)