Как использовать пустую дату и дату по умолчанию в date_select в Rails? - PullRequest
3 голосов
/ 23 сентября 2011

Следующий код работает как положено, используя @the_date в качестве выбранной по умолчанию даты.

<%= date_select("the_date", "", :default => @the_date ) %>

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

<%= date_select("patient_details[birth_date]", "", { :default => @the_date, :include_blank => true } ) %>

Как установить значение по умолчанию для даты и оставить пустым, если дата равна нулю?

Работа в Rails 3.07.

Спасибо.

Ответы [ 2 ]

10 голосов
/ 19 июня 2013

Rails игнорирует ваши :default, если вы также используете :include_blank или :prompt.

IMO, это ошибка, но мы идем.

9 голосов
/ 23 сентября 2011

Просто: include_blank => @ the_date.nil?, это должно сделать свое дело.См. Пример ниже

date_select(:patient_details, :birth_date, { :default => @the_date, :include_blank=> @the_date.nil? })

...