Можно ли добавить ведущие нули к дню и месяцу в рельсах date_select и datetime_select? - PullRequest
2 голосов
/ 07 июля 2011

Я пытаюсь добавить ведущие нули к дням и месяцам в date_select, и для всего, что я вижу в документах, вы можете указать только :use_month_numbers и :use_short_month, но не :leading_zeros => true.

Глядя на код rails, я обнаружил, что следующий код в date_helper.rb:

Файл: actionpack / lib / action_view / helpers / date_helper.rb

def select_day
  if @options[:use_hidden] || @options[:discard_day]
    build_hidden(:day, day)
  else
    build_options_and_select(:day, day, :start => 1, :end => 31, :leading_zeros => false)
  end
end

И в строке 856 в DateTimeSelector есть строка, которая выглядит следующим образом:

leading_zeros = options.delete(:leading_zeros)

Так что у меня создается впечатление, что даже если вам удалось переопределить первый метод, и он вызвал DateTimeSelector с помощью leading_zeros => true, что это просто закончило бы твою вечеринку там, так что это невозможно сделать таким образом.

Так вот, мой ruby-fu / rails-fu не такой уж легендарный, поэтому мне было интересно - могу ли я переопределить классв моем приложении rails реализован только метод (ы), который я хочу, чтобы поддерживать lead_zeros, или каков наилучший способ заставить это работать?

РЕДАКТИРОВАТЬ: В случае, если кто-то спрашивает , почемуему вообще нужны ведущие нули? , ну это нне является нарушителем условий сделки, и это не необходимо , но я хотел бы иметь возможность сделать это ... только для согласованности во всем приложении.Даты отображаются в формате дд / мм / гг в приложении и в отчетах, но при создании записей пользователь находит другой формат.Это не так важно, просто выбор дизайна.

Ответы [ 2 ]

1 голос
/ 11 июля 2011

В любом случае ... Я наконец решил эту проблему, перегрузив метод в приложении rails (в качестве теста, не используя его в производстве). Я думаю, что могу закрыть это, поскольку "rails не поддерживает ведущие нули в датах".

0 голосов
/ 19 июля 2013

Это довольно просто, просто используйте такой формат: "% -d% -m"

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