更新:此帖中的代码已更改为工作解决方案。
使单选按钮显示映射数组的存储值。
控制器:
@questions = Question.all
@ans = Answer.where(user_id = current_user.id)
@answers = @questions.map { |q| [q, @ans.find_by_question_id(q.id)] }
查看:
<% @answers.each do |q| %>
<%= q[0].question %> [<%= q[1].id %>] <%= q[1].score %>
<% [ 1, 2, 3, 4, 5 ].each do |f| %>
<%= radio_button_tag q[0].name, f, f == q[1].score %>
<% end %>
<br />
<% end %>
答案 0 :(得分:1)
编辑:oops ...忘记了@ on answers.each。固定
<% @answers.each do |q| %>
<%= q[0].question %>
<% [1..5].each do |f| %>
<%= radio_button_tag 'score', f, (f == q[1].score).to_s %>
<% end %>
<br />
<% end %>
它离我头顶但基本上你必须传递真或假而不是检查的数字。我假设q [1] .score是1到5的数字
答案 1 :(得分:1)
<% @answers.each do |q| %>
<%= q[0].question %> [<%= q[1].id %>] <%= q[1].score %>
<% [ 1, 2, 3, 4, 5 ].each do |f| %>
<%= radio_button_tag q[0].name, f, f == q[1].score %>
<% end %>
<br />
<% end %>