我遇到这个问题,我希望在Rails的复选框中显示正确的答案,但无济于事。
由于我的模型彼此嵌套,因此调查结果更加复杂,因此调查不仅具有__,而且还接受了_ented_attributes_for Questions和Questions has_many Choices。问题是我根本无法检查框中是否有正确的答案。
数据作为名为correct_choice的列中的布尔值保存到数据库中,show动作的此代码显示复选框,但未选中正确的选项:
<table class="col-md-10">
<thead>
<tr>
<% for question in @survey.questions do %>
<li><%= h question.content %></li>
<% for choice in question.choices do %>
<li><%= h choice.content %>
<%= h check_box(:choice, :correct_choice ) %>
<% end %>
</li>
</li>
<% end %>
</tr>
</thead>
</table>
我已阅读documentation,但我无法弄清楚如何将其应用于我的案例。任何人都可以指出我正确的方向吗?
修改
这是我发布的HTML:
<table class="col-md-10">
<thead>
<tr>
<li>Is this a question?</li>
<li>I'm not big. I'm having a breakdown.
<input name="correct_choice[content]" type="hidden" value="0" /><input type="checkbox" value="1" name="correct_choice[content]" id="correct_answer_content" />
<li>Come on, I'm not big.
<input name="correct_choice[content]" type="hidden" value="0" /><input type="checkbox" value="1" name="correct_choice[content]" id="correct_choice_content" />
<li>Who is hungry?
<input name="correct_choice[content]" type="hidden" value="0" /><input type="checkbox" value="1" name="correct_choice[content]" id="correct_choice_content" />
<li>Pass the cheese, please.
<input name="correct_choice[content]" type="hidden" value="0" /><input type="checkbox" value="1" name="correct_choice[content]" id="correct_choice_content" />
</li>
</li>
</tr>
</thead>
</table>
答案 0 :(得分:0)
感谢@davidwessman的建议,我想通了。他告诉我的是显示html并进行检查。我做了,并与编辑动作(有效的)中的html进行了比较。
然后我很清楚我需要使用check_box_tag命令而不是check_box。这是我现在使用的代码:
<thead>
<tr>
<% for question in @survey.questions do %>
<li><%= h question.content %></li>
<% for choice in question.choices do %>
<li><%= h choice.content %>
<%= check_box_tag "correct_choice", "yes", answer.correct_choice %>
<% end %>
</li>
</li>
<% end %>
</tr>
</thead>