Отформатируйте DateTime в текстовом поле в направляющих

Если Вы уже не записали это и находите, что у Вас есть проблема производительности, я не волновался бы, о котором более быстро. Пойдите с тем, который это более читаемо. Помните, "Преждевременная оптимизация является корнем всего зла". - Donald Knuth

22
задан jerhinesmith 14 September 2009 в 15:41
поделиться

4 ответа

Некоторые отличные предложения, однако, в тех случаях, когда вы действительно хотите, чтобы ваше текстовое поле даты было отформатировано определенным образом (скажем, вы интегрируетесь с javascript-пикером дат), и вы имеете дело с nils, я думаю, что простая небольшая доработка существующего метода сделала бы трюк:

:value => (@object.start_date.blank? ? '' : @object.start_date.strftime('%m/%d/%Y'))
35
ответ дан 29 November 2019 в 04:17
поделиться

Я могу думать о трех способах:

1) Создание нового метода в модели, который будет форматировать вашу дату, но вам нужно, чтобы это было

2) Создание вспомогательного метода, который будет делать то же самое

3) Вы пробовали сделать:

<%= text_field 
   :my_object,
   :start_date,
   :value => @my_object.try(:start_date).try(:strftime,'%m/%d/%Y') %>
7
ответ дан 29 November 2019 в 04:17
поделиться

Если ваша форма привязана к объекту (что-то вроде <% form_for (: object) do | f |%> ), вы должны использовать <% = f.text_field: start_date,: value => f.object.start_date.to_s (: date_format)%>

, тогда вы можете зарегистрировать свой : date_format в config / environment.rb

Not конечно, зачем вы хотите это сделать, но я надеюсь, что это сделано только для целей презентации.

4
ответ дан 29 November 2019 в 04:17
поделиться

, если вы не хотите вводить дату в текстовое поле, но в поле выбора, которое менее подвержено ошибкам, вы можете использовать ActionView :: Helpers :: DateHelper , select_date () . см. Доступ к переменным date (), отправляемый от помощника по дате в rails здесь, в SO, о том, как обрабатывать возвращаемые значения.

0
ответ дан 29 November 2019 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: