Могу ли я отображать и (и только) месяц и год во вспомогательном теге date_select?

У меня есть форма с атрибутом date.

Прямо сейчас я использую f.date_select :begin_date, discard_day: true, но он отображает месяц и год в меню выбора каждого из них соответственно.

Возможно ли, чтобы месяц и год отображались в одном меню выбора, как показано ниже?

2013 Январь
2013 Февраль
2013 Март
2013 Апрель
и т. Д.


person Fellow Stranger    schedule 23.12.2013    source источник
comment
если вы, пожалуйста, опубликуете какую-то часть кода.   -  person Saghir A. Khatri    schedule 23.12.2013
comment
Какая часть кода внесет ясность в мой вопрос?   -  person Fellow Stranger    schedule 23.12.2013
comment
представление и контроллер, связанные с этим вопросом, могут помочь.   -  person Saghir A. Khatri    schedule 23.12.2013


Ответы (2)


Это 7 лет спустя, но это все еще происходит, когда я искал в Google эту точную проблему.

Вы можете заставить его работать со стандартным ActionView::Helpers::FormBuilder#select и вручную кормить его набор месяцев + лет.

<% the_months = (Date.new(2020,1,1)..Date.new(2020,12,31)).select { |d| d.day == 1 } %>
<%= f.select :start_date, the_months.map { |d| [d.strftime('%b %Y'), d] } %>
person Will Koehler    schedule 16.02.2021

Вы можете ознакомиться с документацией по API rails И метод выбора даты для получения дополнительных сведений.

Ваш код будет примерно таким:

<%= f.date_select :date,  { :discard_day => true} %>
person Pravin Mishra    schedule 23.12.2013
comment
Полагаю, тогда это невозможно? Поскольку такой возможности там нет. - person Fellow Stranger; 23.12.2013
comment
Извините, но это именно мой существующий код, который я предоставил в вопросе. - person Fellow Stranger; 23.12.2013
comment
Это просто повторяет то, что сказал исходный вопросник, с бесполезной преамбулой, которую вы должны прочитать. - person Will Koehler; 16.02.2021