Поле редактирования даты - RoR - PullRequest
0 голосов
/ 13 апреля 2011

все

Я новичок в RoR и, следовательно, нуждаюсь в некотором руководстве w.r.t Поле даты.
Справочная информация:

1> Я создаю объект модели, используя rails generate scaffold <Model> name:string remainderDate: date

2> Теперь, когда я развернул модель в БД с помощью rake db:migrate и при открытии URL-адреса: localhost:3000/<Model>s/new, отображаемое поле даты имеет формат YYYY MM DD, все 3 отдельных поля с раскрывающимся списком с

ГГГГ значения> = 2006 и <= 2016 <br> Значения MM> = январь и <= декабрь (очевидно) <br> Значения DD> = 1 и <= 31 </p>

Вопрос 1 :
1> Где находится код для установки значений в этих полях?
2> Могу ли я изменить формат на ММ ДД ГГГГ?
3> Могу ли я ограничить добавление значений в список? то есть для текущего 2011 года должны быть показаны только месяцы, начинающиеся с апреля, и только даты, начинающиеся с текущего дня
4> Где я могу изменить отображаемый текст для формы new? Я открыл new.html.erb и не мог понять, где установлен текст на дисплее. Я также открыл _form.html.erb и не мог найти, где необходимые изменения могут быть сделаны?

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Посмотрите на синтаксис для date_select: http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-date_select

В вашей форме у вас будет что-то вроде этого:

<%= f.date_select :remainderDate, {:order => [:month, :day, :year],:prompt => true, :start_year => Time.now.year, :end_year => 2016} %>

Итак, ответы на ваши вопросы:

1 /, как ответил Уэс

2 / опция: order в моем примере

3 / вы можете ограничить только год, а не месяцы или даты с параметрами, которые вы видите в start_yearи end_year в примере.Вы можете ограничить дальнейшее использование проверок в вашей модели.

4 / что именно вы имеете в виду под "отображаемым текстом для новой формы"?Вы имеете в виду отображаемый текст для поля даты?Это было бы рядом с <% = f.label%>

1 голос
/ 13 апреля 2011

Что касается форматов поля даты, вы хотите передать строку так, как это уже делает rails, потому что mysql принимает ее без изменений. Тем не менее, вы, безусловно, можете изменить способ ввода данных в форму для новой записи. Ищите код вида в

app/views/<model>/_form.html.erb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...