Rails datetime с одним текстовым полем для даты и времени выпадающих - PullRequest
4 голосов
/ 29 июля 2010

У меня есть форма рельсов, которая имеет ввод даты и времени.

Я хотел бы сделать так, чтобы дата вводилась в одно текстовое поле, которое пользователь будет вводить в формате MM / DD / YYYY (или через jQuery datepicker), а затем ввод времени будет 12-часовым падениемспады.Я нашел этот плагин - http://code.google.com/p/rails-twelve-hour-time-plugin/ - для обработки 12-часовой части времени, но я не уверен, как сделать дату (и только дату) единым текстовым полем.

Мне удалось изменить его на несколько текстовых полей вместо нескольких раскрывающихся списков с помощью этого плагина - http://www.railslodge.com/plugins/981-date-time-text-field-helpers

Я хотел бы сделать это с минимальной логикой контроллера, поэтому, если его можно назватьполя таким образом, что рельсы знают, как их объединить, что было бы идеально.

1 Ответ

2 голосов
/ 29 июля 2010

В одном текстовом поле вы можете сделать это только с помощью маски javascript, создавая скрытые поля с каждой частью даты в поле ввода.

Если вам все равно придется использовать javascript, используйте его для выбора даты или доверяйте пользователю вводить дату в указанном формате, оба сценария предоставят вам отформатированную строку, так что вы можете просто проанализировать ее с помощью

# params[:date_as_str] = "2010/07/29 10:00 AM"
object.date = DateTime.strptime(params[:date_as_str], "%Y/%m/%d %H:%M %p")

Вы также можете создать пользовательский помощник для создания этой «маски» javascript в одном текстовом поле.

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