我对params有问题。主要是,我期望在那里的价值,不存在。我有一些带有一些单选按钮的布局。我的想法是,当我选择其中一个单选按钮时,该值应该出现在params[:answer]
中。但是,此值为NIL
,因此永远不会更新,我不确定原因。这是我的代码(稍微修改以删除不相关的部分)。
在视图question/sub_view.html.erb
中,我有以下单选按钮:
<div id="radio_buttons">
<%= radio_button_tag :submit, name: 'answer', value: 'answer_1' %>Answer 1<br>
<%= radio_button_tag :submit, name: 'answer', value: 'answer_2' %>Answer 2<br>
</div>
我有一个观点question/question.html.erb
:
<h1>Question</h1>
<div align="center">
<%= render partial: "question/sub_view" %>
</div>
<div class="buttons">
<%= link_to "Next", question_path, class: "btn btn-large btn-primary" %>
</div>
在routes.rb
:
get 'question' => 'question#question'
现在重要的一点,在QuestionController.rb
,我有以下内容:
class QuestionController < ApplicationController
def question
puts params # print to console to check the parameters
# stuff omitted that is not relevant
end
end
我希望params
包含值'answer'
(例如,'answer'=>'answer_1'
)。为什么会这样?
答案 0 :(得分:2)
您必须为此方法使用正确的语法。我也添加了很好的标签。
<% = radio_button_tag :answer, 'answer_1', checked: true %>
<% = label :answer, 'Answer 1' %>
<% = radio_button_tag :answer, 'answer_2', checked: true %>
<% = label :answer, 'Answer 2' %>
radio_button_tag(name,value,checked = false,options = {})
http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-radio_button_tag