Простая форма, поскольку дата не получает ввода

Я делаю контактную форму для своего сайта, используя simple_form и mail_form.

Вот мой код для просмотров:

f.input :start_date, as: :date, start_year: Date.today.year, order: [:month, :year], label: false

Однако, не получая никакого ввода от :start_date, когда я сделал :start_date обязательным полем, я продолжаю получать «не может быть пустым», независимо от того, что я ввел.

Это работает только тогда, когда я удаляю as::date, а start_date включается в электронное письмо, отправленное mail_form.


person neo    schedule 09.06.2014    source источник
comment
Убедитесь, что вы вводите правильный формат даты. Rails имеет тенденцию принимать такие форматы, как 'гг-мм-дд'   -  person Acacia    schedule 10.06.2014
comment
Формат даты Rails на самом деле 'гггг-мм-дд'.   -  person Justin    schedule 10.06.2014
comment
Документация simple_form содержит следующий пример: f.input :date_of_birth, as: :date, start_year: Date.today.year - 90, end_year: Date.today.year - 12, discard_day: true, order: [:month, :year ] Я думаю, проблема может быть в том, что он был перенесен как datetime: t.datetime :start_date   -  person neo    schedule 10.06.2014


Ответы (1)


Формат даты Rails на самом деле 'гггг-мм-дд'.

При этом @Acacia, вероятно, прав.

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

format: 'yyyy-mm-dd'

Итак, если вы используете средство выбора даты jQuery, это будет:

$(function() {
  $( "#datepicker" ).datepicker({
    format: "yyyy-mm-dd"
  });
});
person Justin    schedule 09.06.2014