如何从哈希显示选择列表?

时间:2012-02-27 04:08:59

标签: ruby-on-rails

我在form_for中的选择列表看起来很奇怪:

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

我有一个我创建的哈希:

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

然后我在form_for中创建了我的选择列表,如:

<%= f.select :user_status, USER_STATUS_BY_ID.each {|k,v| [k, v.name]} %>

value.name似乎没有呈现名称,但似乎是整个对象?

我原本希望有名字ouputted ...

1 个答案:

答案 0 :(得分:1)

请尝试以下方法:

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

更新:如果你想使用哈希,看起来你需要一张地图而不是每一张:

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