ハッシュで利用可能な値から選択ボックスを作成する必要があります。事上のメソッドを経由してRails - オブジェクトハッシュから選択タグを作成する
1 => 'State A'
2 => 'State B'
利用可能:例えば
、私は「もの」と「こと」は、状態、様々な分野を持っている持っています。
これから選択タグを作成するにはどうすればよいですか?
ハッシュで利用可能な値から選択ボックスを作成する必要があります。事上のメソッドを経由してRails - オブジェクトハッシュから選択タグを作成する
1 => 'State A'
2 => 'State B'
利用可能:例えば
、私は「もの」と「こと」は、状態、様々な分野を持っている持っています。
これから選択タグを作成するにはどうすればよいですか?
だけSchrockwellなどを言った:ハッシュ@status_fields
のためにあなたが書くことができるように
Hash.each |a|
は、フォームa = [key, value]
の配列を返します。
<%= collection_select('thing', 'status', @status_fields, :first, :last) %>
また、あなたがして、選択リストと選択リスト値に値ポイントに表示し、キーをたい場合:
<%= collection_select('thing', 'status', @status_fields, :last, :first) %>
これはthing.statusまたは何によって与えられたオプションを選択しますnilは
あなただけの「2」の所望の選択の指標をある
<%= select_tag('name', options_from_collection_for_select(@status_fields, :first, :last, '2')) %>
を使用したオブジェクトに関連付けられていない任意の選択を作成したい場合は
を返された場合PS:元の投稿やコメントを修正するには十分な評判がありません
select helper methodは、{ text_displayed_in_select => select_value }
という形式のハッシュを受け入れるので、そのハッシュはinvertになります。
あなたは
select "foo", "bar", @hash_object
または
select "foo", "bar", @hash_object.map { |h| [h.key, h.value] }
ような何かを行うことができ、私はおそらく
Hash.each |a|
が返す値にキーポイントを作るために最初にあなたのハッシュを反転させたいですa = [key, value]
という形式の配列ですので、ハッシュの場合は@status_fields
次のように記述することができます:
<%= collection_select('thing', 'status', @status_fields, :first, :last) %>
を別の方法として、あなたが選択リスト値に選択リストに表示するためのキーと値のポイントをたい場合は、次のようになります
<%= collection_select('thing', 'status', @status_fields, :last, :first) %>
だから、選択した価値をどのように伝えたらいいのでしょうか? –
ドキュメントでは、「インスタンスオブジェクトのメソッド呼び出しから返された値が選択されます」と記載されています。したがって、最初の引数として 'thing'を渡す代わりに、オブジェクト@thingの実際のインスタンスを渡してみてください。 – Schrockwell
を使用するか、<%= select_tag( 'name'、options_for_select(["Dollar"、 "$"]、["Kroner"、 "DKK"]])% – montrealmike