collection_select problem

Hi,

I have the following code:
     <% @users.each do |u| -%>
     <tr class="<%= cycle("odd", "even") %>">
       <td><%= u.name %>,<%= u.member_status_id %></td>
       <td><%= collection_select( u, :member_status_id,
@member_statuses, :id, :name , { :class => "select"}, { :name =>
"member_status_id" } ) %> </td>
     </tr>
     <% end %>

The select is generating fine, apart from the fact that appropriate
options are not selected.

<%= u.member_status_id %> is returning correct values for the records
(1,2,3,4)
MemberStatus.all.inspect returns:

[#<MemberStatus id: 1, name_pl: "Obserwator", name_en: "Observer",
created_at: "2011-01-10 15:02:58", updated_at: "2011-01-10 15:02:58",
created_by: nil, updated_by: nil>, #<MemberStatus id: 2, name_pl:
"Baby", name_en: "Baby Member", created_at: "2011-01-10 15:02:58",
updated_at: "2011-01-10 15:02:58", created_by: nil, updated_by: nil>,
#<MemberStatus id: 3, name_pl: "Pełne", name_en: "Full Member",
created_at: "2011-01-10 15:02:58", updated_at: "2011-01-10 15:02:58",
created_by: nil, updated_by: nil>, #<MemberStatus id: 4, name_pl:
"Alumn", name_en: "Alumni", created_at: "2011-01-10 15:02:58",
updated_at: "2011-01-10 15:02:58", created_by: nil, updated_by: nil>,
#<MemberStatus id: 5, name_pl: "Zrezygnowa\305\202", name_en:
"Resigned", created_at: "2011-01-10 15:02:58", updated_at: "2011-01-10
15:02:58", created_by: nil, updated_by: nil>, #<MemberStatus id: 6,
name_pl: "Inactive", name_en: "Inactive", created_at: "2011-01-10
15:02:58", updated_at: "2011-01-10 15:02:58", created_by: nil,
updated_by: nil>]

But still, the helper is not putting the "selected" where it should.
Any advice?

<%= u.collection_select( :member_status_id,
@member_statuses, :id, :name , { }, { :class => "select", :name =>
"member_status_id" })%>

I would try this. the first hash set is for options, the second is for
HTML options. It looks like your passing args in the wrong place

wardenik wrote in post #974738:

<% @users.each do |u| -%>
<tr class="<%= cycle("odd", "even") %>">
  <td><%= u.name %>,<%= u.member_status_id %></td>
  <td><%= collection_select( u, :member_status_id, blah blah blah %>

Please, please, please get that collection_select data access out of the
view.

If you have 100 users, how many times will you exec that code?

Retrieve your @member_statuses in the controller, once, and use that var
in the view.