Как я могу изменить тип ввода хелпера Rails datetime_select? - PullRequest
2 голосов
/ 12 июля 2010

Я использую помощник Rails datetime_select в одной из моих форм.В настоящее время у меня есть требование изменить раскрывающиеся списки для day, year, hour и minute, чтобы они были текстовыми полями с проверкой.Можно ли указать, что я хочу текстовые поля для этих полей?Или, возможно, другой помощник, который будет делать то, что мне нужно?

вот мое использование:

datetime_select(:campaign, :start_date, :order => [:day, :month, :year, :hour, :minute])

Ответы [ 2 ]

4 голосов
/ 20 июля 2010

как насчет прокрутки собственного простого помощника, например

def datetime_text_fields(object_name, method)
  html = text_field_tag("#{object_name}[#{method}(3i)]", Date.today.day.to_s, :length => 2)
  html << select_month(Date.today, :field_name => "#{object_name}[#{method}(2i)]")
  html << text_field_tag("#{object_name}[#{method}(1i)]", Date.today.year.to_s, :length => 4)
  html << " "
  html << text_field_tag("#{object_name}[#{method}(4i)]", Time.now.hour.to_s, :length => 2)
  html << ":"
  html << text_field_tag("#{object_name}[#{method}(5i)]", Time.now.min.to_s, :length => 2)
end

Не стесняйтесь добавлять дополнительные элементы форматирования / разделители и т. Д., Но в основном это возвращает к правильным именам полей для рельсов, которые будут определены как DateTime. Rails ожидает поля с именами, такими как date(1i), 1i = год, 2i = месяц и т. Д.

Честно говоря, я не проверял это или что-то еще, но вывод в консоли выглядел довольно убедительно;)

0 голосов
/ 23 июля 2010

Почему бы не свернуть свое собственное, просто назовите поля ввода точно таким же образом, как это делает помощник выбора даты, и вы получите все внутренние преимущества при развертывании пользовательского интерфейса.Или используйте :order, чтобы ваш указатель даты давал выбор месяца, и используйте магию javascript для другого ввода.

Вы можете использовать указатель даты jquery и заполнять скрытые поля с тем же соглашением об именах, что и у рельсовDatePicker.

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