我正在学习如何在Ruby on Rails中创建表单,但是我不知道提交表单时如何获取单选按钮进行保存。这是我的表格:
<%= form_for :post, url: posts_path do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :body %><br>
<%= f.text_area :body %>
</p>
<p>
<%= f.label :radio %><br>
<%= f.label :radio, "Yes"%>
<%= f.radio_button(:radio, "true")%>
<%= f.label :radio, "No"%>
<%= f.radio_button(:radio, "false")%>
</p>
<p>
<%= f.submit %>
</p>
提交表单作为测试后,我使用SQLite在网站和控制台中检查结果。我的帖子模型的单选属性为空(值为nil),但其他属性已正确填写。我已经检查了radio属性是否为字符串。如果有更好的方法通过单选按钮存储值,那将不胜感激。这是我用来显示结果的代码,但是我认为这没有用,因为当我使用SQLite检查时单选框为空。
<% if post.radio == "true"%>
<p>
Yes!
</p>
<%else%>
<p>
No!
</p>
<%end%>
我已经尝试使用radio_button_tag,但是rails无法识别它。我也尝试过不带括号,只有真假(不是字符串)等。谢谢!
答案 0 :(得分:0)
在发布参数内的白名单值中添加:radio
将解决此问题。这样可以将值保存到数据库中。