我有一个表单,用户从以前提交的几个值中选择一个值。我使用了单选按钮,因此用户只能选择一个答案。但问题在于原始答案可以有多个值并且可以在数组中,所以我如何将数组作为单选按钮的值传递?
我现在正在做的是在单选按钮的值中加入数组,然后将其拆分并在收到时存储它。 所以,在视图中
<% answers.each do |answer|
<%= radio_button_tag "best_answer", answer.is_a?(Array) ? answer.join('|') : answer, :required => true %>
<% end %>
在控制器中,
best_answer = params[:best_answer].split("|")
params[:best_answer] = best_answer.length > 1 ? best_answer : best_answer[0]
我们可以从单个单选按钮本身传递整个数组,还是有另一种更好的方法来做到这一点?
答案 0 :(得分:0)
Answer
是ActiveRecord
个对象吗?如果不仅仅使用answer.id
作为无线电标签的值。如果没有,可以将其更改为ActiveRecord
? ;)
答案 1 :(得分:0)
为什么需要将数组设置为单选按钮的值?只需为表示一组值的单选按钮使用单个值。