Rails 3.2アプリで、外部API呼び出しからデータを取得する選択フィールドを追加しようとしています。このデータは、ハッシュの配列として返されます。
[{"name"=>"NameA", "id"=>"001"}, {"name"=>"NameB", "id"=>"002"}]
このデータを使用して、次のような選択フィールドを作成するにはどうすればよいですか。
<select>
<option value="001"> NameA </option>
<option value="002"> NameB </option>
</select>
編集:
以下の提案のおかげで、私は以下を試しました:
A:
<%= select_tag 'model[field]', options_from_collection_for_select(@hash, :id, :name) %>
エラーが発生します:
undefined method `name' for {"name"=>"NameA", "id"=>"001"}:Hash
B:
<%= select_tag 'model[field]', options_from_collection_for_select(@hash) %>
エラーを修正しますが、間違ったマークアップを生成します
<option value="{"name"=>"NameA", "id"=>"001"}"> {"name"=>"NameA", "id"=>"001"}</option>
したがって、私の問題はハッシュの配列を正しくフォーマットすることだと思います。これを行う方法を理解するためにハッシュの配列を操作することについては十分にわかりません。
完全に摩耗した方向を見ているのでない限り、この問題の鍵は、この質問の上部にある配列を再フォーマットして次のようにすることだと思います。
{"NameA" =>"001", "NameB" =>"002"}
これも可能ですか?もしそうなら、どのように?