2012-02-27 14 views
1

私の選択リストには奇妙されていますハッシュから選択リストを表示するには? form_forで

<%= f.select :user_status, USER_STATUS_BY_ID.each {|k,v| [k, v.name]} %> 
:私はその後、同様のform_forの内側に私の選択リストを作成

UserStatus.all.each do |u| 
    USER_STATUS_BY_ID[u.id.to_i] = u 
end 

<select id="user_user_status" name="user[user_status]"> 
<option value="#&lt;UserType:0x007fcfb49bfee8&gt;">7</option> 
.. 
.. 
</select> 

私は次のように私が作成したハッシュを持っています

value.nameは名前を表示していないようですが、オブジェクト全体が表示されますか?

<%= f.collection_select :user_status, UserStatus.all, :id, :name %> 

更新:

私は名前がouputtedていると期待していた...

+0

'each'は、反復したコレクションを返します。 –

答えて

1

代わりに以下のことを試してみてくださいあなたは、ハッシュを使用したい場合は、代わりのマップを必要とするように、それが見えますそれぞれ:

USER_STATUS_BY_ID.map {|k,v| [k, v.name]} 
+0

しかし、モデルではなく私のハッシュを使いたいです。 – Blankman

+0

私の返信を更新しました。 :) – clemensp

関連する問題