Создание выпадающего окна FormBuilder на год в Ruby On Rails - PullRequest
2 голосов
/ 11 февраля 2012

Я пытаюсь создать БД с атрибутом года, но у меня возникли некоторые трудности.Я создал скаффолд и попытался изменить _form.html.erb с помощью этого кода:

<%= f.date_select :year, :start_year=>2000, :end_year=>Time.now.year %>

Попытался запустить сервер rails и выдал мне эту ошибку:

1 error(s) on assignment of multiparameter attributes

Я понялчто я хотел только год, а не день или месяц.Есть способ сделать это?Я попытался: discard_month => true, но это просто скрывает это, но все еще хранит это.

Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 11 февраля 2012

сделать что-то вроде:

<%= f.date_select :year, :order => [:year], :start_year => 2000, :end_year => Time.now.year, :prompt => {:year => "Select year"} %>

Поскольку ваше поле year является int, а не datetime:

<%= f.select :year, (2000..Time.now.year).to_a, :include_blank => {:year => "Select year"} %>
0 голосов
/ 04 января 2019

Другая альтернатива - select_year

например.,

select_year(Date.current, start_year: 2015, end_year: Date.current.year)

...