使用Rails 3.2.0.rc2和ruby 1.9.3p0
在app / views / requests / _form.html.erb中我有以下代码显示单选按钮来设置值:req_driverage(@ requests.req_driverage)(在数据库中,表请求的列req_driverage类型为整数):
<%= 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") %>
在通过动作制作者发送之前,我正在日志文件中查看@ request.req_driverage的值:
logger.info("Value is #{@request.req_driverage}")
但是,这只显示“Value is”,意味着该值为nil(undefined?),即使在创建对象之前已选择它。
奇怪的是我正在看
"req_driverage"=>"1",
(如果选择了单选按钮选项2)在浏览器中,当我在动作制作器文件中注释掉mail
的调用并收到错误A sender (Return-Path, Sender or From) required to send a message
时。
任何人都可以指导我上面的erb代码有什么问题吗?或者指出req_driverage的值正在改变的地方?
由于
答案 0 :(得分:1)
<%= f.label "Authorized age:" %>
<%= f.radio_button(:req_driverage, "0") %>
# and so on ...
模型属性的表单字段助手(在您的情况下为radio_button)必须在表单构建器对象 f 上调用 才能正确包含在{{1哈希。
检查guide。