Как отобразить список выбора из хеша? - PullRequest
0 голосов
/ 27 февраля 2012

Мой список выбора в форме выглядит странно:

<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

Затем я создал свой список выбора внутри формы, например:

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

Значение.name, кажется, не отображает имя, но весь объект кажется?

Я ожидал, что имя будет передано ...

1 Ответ

1 голос
/ 27 февраля 2012

Вместо этого попробуйте следующее:

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

Обновление: если вы хотите использовать хэш, похоже, вам нужна карта вместо каждого:

USER_STATUS_BY_ID.map {|k,v| [k, v.name]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...