传递单选按钮的数组值

时间:2011-07-24 06:48:40

标签: ruby-on-rails ruby-on-rails-3

我有一个表单,用户从以前提交的几个值中选择一个值。我使用了单选按钮,因此用户只能选择一个答案。但问题在于原始答案可以有多个值并且可以在数组中,所以我如何将数组作为单选按钮的值传递?

我现在正在做的是在单选按钮的值中加入数组,然后将其拆分并在收到时存储它。 所以,在视图中

<% 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] 

我们可以从单个单选按钮本身传递整个数组,还是有另一种更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:0)

AnswerActiveRecord个对象吗?如果不仅仅使用answer.id作为无线电标签的值。如果没有,可以将其更改为ActiveRecord? ;)

答案 1 :(得分:0)

为什么需要将数组设置为单选按钮的值?只需为表示一组值的单选按钮使用单个值。

相关问题