2012-01-11 3 views
0

Использование Rails 3.2.0.rc2 и рубин 1.9.3p0значение radio_button_tag изменилось

В приложение/просмотров/запросов/_form.html.erb У меня есть следующий код для отображения кнопки радио, чтобы установить значение: req_driverage (@ requests.req_driverage) (в базе данных, запросы таблица имеет столбец req_driverage типа Integer):

<%= f.label "Authorized age:" %> 
<%= radio_button_tag(:req_driverage, "0") %> 
<%= label_tag(:req_driverage_0, "Any driver aged 21 years and over") %> 
<%= radio_button_tag(:req_driverage, "1") %> 
<%= label_tag(:req_driverage_1, "Any driver aged 25 years and over") %> 
<%= radio_button_tag(:req_driverage, "2") %> 
<%= label_tag(:req_driverage_2, "Any driver aged 30 years and over") %> 

Перед отправкой это через ActionMailer, я просмотрев значение @ request.req_driverage в файле журнала:

logger.info("Value is #{@request.req_driverage}") 

Однако это показывает только «Значение», что означает, что значение равно nil (undefined?), Даже если оно было выбрано до создания объекта.

Самое странное, что я вижу

"req_driverage"=>"1", 

(если переключатель вариант два был выбран) в браузере, когда я закомментировать вызов mail в файле ActionMailer и получить ошибку A sender (Return-Path, Sender or From) required to send a message.

Может ли кто-нибудь направить меня на то, что не так с вышеуказанным кодом erb? Или укажите, где изменяется значение req_driverage?

Благодаря

ответ

1
<%= f.label "Authorized age:" %> 
<%= f.radio_button(:req_driverage, "0") %> 
# and so on ... 

хелперного поле формы (radio_button в вашем случае) для атрибута модели должны называться на объект формы строитель е для того, чтобы быть должным образом включены в params хэш.

Проверьте guide.

+0

Спасибо @jibiel – Usering