0

form_for in rails内のメソッドを使用して、オプションの値が1つの配列から取得され、オプションタグで囲まれたオプションが別の配列から取得されるオプションを含むselectタグを作成したいと思います。

たとえば、最初のオプションは次のようになります。

<option value = Array1[0]> Array2[0] </option>

どうすればよいですか?次のような「select」を使用できますか?

= form_for @activity do |f|
  = f.select(Array1, Array2, {:selected => nil, :prompt => 'Select Stage'})

api.rubyonrails.orgのrailsAPIで説明されているように、この形式はoptions_for_selectと一致しているように見えましたが、このような機能を実現できませんでした。

4

1 に答える 1

0

これを試して:

= f.select(:method, Array2.zip(Array1), { :selected => nil, :prompt => 'Select Stage' })

zipメソッドは、2つの配列を組み合わせて1つの2次元配列を作成します。

したがって、たとえば、[1,2,3].zip([4,5,6])を返し[[1,4], [2,5], [3,6]]ます。

select次に、これをオプションテキストとオプション値のリストとして解釈できます。

与えられた場合[['Male', 'm'], ['Female', 'f']]、selectは戻ります

<option value="m">Male</option>
<option value="f">Female</option>
于 2012-06-20T23:37:57.187 に答える