Форматирование рельсов в поле редактирования - PullRequest
1 голос
/ 31 января 2011

Можно ли использовать помощники форматирования рельсов на экране редактирования? Помощники форматирования (number_to_currency, number_to_percent) отлично подходят для индекса / шоу, но я не вижу, как их применять во время редактирования. У меня есть пользовательский хелер, который форматирует дату:

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

Например, если у меня есть атрибут starts_at, с которым пользователь взаимодействует с помощью jQuery datepicker, значение, помещенное в edit.html.erb в <%= f.text_field :starts_at %> по рельсам, будет отформатировано следующим образом:

2011/12/19 00:00:00

Я бы хотел, чтобы пользователю был представлен согласованный формат, поэтому я хочу применить тот же помощник по формату, который я использую в show / index, чтобы текстовое поле редактирования отображало формат, подобный:

19-Jan-2011

Ответы [ 3 ]

5 голосов
/ 31 января 2011

Вы можете сделать это для своей формы редактирования:

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

Кроме того, средство выбора даты в jQuery включает параметр dateFormat, поэтому вы можете сделать что-то подобное в своем JavaScript:

0 голосов
/ 09 марта 2015
jQuery('#datetimepicker3').datetimepicker({
  format:'d.m.Y H:i',
  inline:true,
  lang:'ru'
});

datetimepicker

0 голосов
/ 10 июня 2011

У меня только что был момент "дух".Не кажется, что есть какой-то простой способ.Но это можно сделать очень просто с помощью ненавязчивого JavaScript, например:

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

Четыре строки в application.js и все готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...