2011-07-24 4 views
0

私は、ユーザーが以前に送信した値の中から1つの値を選択するフォームを持っています。ラジオボタンを使用したので、ユーザーは1つの回答のみを選択できます。しかし、ここでの問題は、元の答えはいくつかの値を持つことができ、配列にすることができるので、ラジオボタンの値として配列を渡すにはどうすればいいですか?ラジオボタンの配列値を渡す

私が今やっていることは、配列をラジオボタンの値で結合し、それを分割して受け取ったときにそれを格納することです。 だから、ビュー

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

AnswerActiveRecordオブジェクトですか?それ以外の場合は、無線タグの値としてanswer.idを使用してください。そうでない場合はActiveRecordに変更できますか? ;)

+0

私はmongoidを使用していますが、答え自体はmongoidオブジェクトではありませんが、オブジェクトのフィールドですので、IDを渡すと、DBからこれらのオブジェクトをすべて取得し、回答フィールドの値を取得する必要があります。私は、アレイに参加する現在の方法は簡単だろうと思う。 – Dipil

+0

そして、(YAMLに)多分シリアル化し、多分(Base64で)エンコードするのはどうですか?私の言いたいことを知っていますか、別の答えを投稿すべきですか? –

0

なぜラジオボタンの値として配列を設定する必要がありますか?その値を表すラジオボタンには単一の値を使用してください。

関連する問題