你如何获得我的rails radio_button_tag来保存表单提交的数据?

时间:2015-07-15 05:04:17

标签: ruby-on-rails ruby form-helpers

我是rails的新手,我想我会在表单中添加一个单选按钮来强制用户选择。我能够加载表单并选择其中一个选项,但是在通过提交按钮发布后,我得到了需要存在的字段的模型错误(我想要验证的内容)。下面是单选按钮的表单代码。

<div class="field">
  <div>
  <%= f.label "Type" %>
  </div>
  <div class="radio-inline">
    <%= radio_button_tag :ptype, "Question" %><%= label_tag :ptype_question, 'Question' %>
  </div>
  <div class="radio-inline">
    <%= radio_button_tag :ptype, "Problem" %><%= label_tag :ptype_problem, 'Problem' %>
  </div>
  <div class="radio-inline">
    <%= radio_button_tag :ptype, "Idea" %><%= label_tag :ptype_idea, 'Idea' %>
  </div>
  <div class="radio-inline">
    <%= radio_button_tag :ptype, "Praise" %><%= label_tag :ptype_praise, 'Praise' %>
  </div>
</div></br>

我已经列入白名单:ptype在控制器内的参数中,所以我知道这不是问题,当我把这个字段只是一个纯文本字段时,我能够提交就好了,所以我想我搞砸了有多种选择的东西,但即使在检查了一些其他帖子之后也无法弄明白。

我还注意到它正在获取日志记录中的数据,但它没有像其他元素一样缩进:

--- !ruby/hash:ActionController::Parameters
utf8: "✓"
authenticity_token: 7uAQ/Wx4...
post: !ruby/hash:ActionController::Parameters
  title: Packers
  content: Rock!
  category: Football
ptype: Question
commit: Post
controller: posts
action: create

再次,认为这是一个简单的修复,因为text_field发布很好,但仍然太新,无法弄清楚什么是错的。提前谢谢!

1 个答案:

答案 0 :(得分:0)

将表单对象应用于单选按钮,如下所示:

f.radio_button

它会毫无瑕疵地提交。