在编辑字段中格式化Rails

时间:2011-01-31 14:43:46

标签: ruby-on-rails

可以在“编辑”屏幕上使用rails格式助手吗?格式助手(number_to_currencynumber_to_percent)非常适合索引/节目,但我看不到如何在编辑期间应用它们。我有一个自定义heler格式化日期:

def my_date_helper(datetime)
    datetime.nil? ? "" : datetime.strf('%d-%b-%Y')
end

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

2011/12/19 00:00:00

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

19-Jan-2011

3 个答案:

答案 0 :(得分:5)

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

<%= f.text_field :starts_at, :value => my_date_helper(@my_model.starts_at) %>

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

jQuery("#my_model_starts_at").datepicker({
  dateFormat: 'd/M/yy'
});

答案 1 :(得分:0)

我刚刚度过了一个'呃'的时刻。似乎没有任何简单的,轨道式的方式。但是,使用不引人注目的JavaScript可以轻松完成,例如:

  $('.datepicker').each(function(i){
    var date = new Date($(this).val());
    $(this).val($.datepicker.formatDate('dd-M-yy', date));
  });

application.js中有四行,你就完成了。

答案 2 :(得分:0)

jQuery('#datetimepicker3').datetimepicker({
  format:'d.m.Y H:i',
  inline:true,
  lang:'ru'
});

datetimepicker