Rails-无法在数据库中保存单选按钮值

时间:2018-10-18 18:23:15

标签: ruby-on-rails radio-button

我正在学习如何在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无法识别它。我也尝试过不带括号,只有真假(不是字符串)等。谢谢!

1 个答案:

答案 0 :(得分:0)

在发布参数内的白名单值中添加:radio将解决此问题。这样可以将值保存到数据库中。