Problem with collection_select

Hi,

I am getting undefined method `map' for #<UserJob:0x7f42671ae1a8> with the code below. I've looked everywhere and I don't get what I am doing wrong

Controller: @user_jobs = UserJob.find_by_user_id(current_user.id)

View: <% form_remote_for(@user_project, :complete => 'editObjectDialog.close()') do |f| %>   <%= f.error_messages %>   <% if @user_jobs %>   <p>     <%= f.label :user_job %><br />     <%= collection_select :user_project :user_job_id, @user_jobs, :id, :title %>   </p>   <% end %> <% end %>

Thanks for your help

Hi,

I am getting undefined method `map' for #<UserJob:0x7f42671ae1a8> with the code below. I've looked everywhere and I don't get what I am doing wrong

Controller: @user_jobs = UserJob.find_by_user_id(current_user.id)

This is not an array, it's an instance of UserJob. collection_select expects an array (and judging by the variable name so are you). Dynamic finds of the form find_by_xxx are analogous to find :first, ... whereas it looks like you want find_all_by_xxx which is like a find :all. Having said that, most people would have the appropriate associations in place so that they could just write current_user.user_jobs.

Fred

kojilab wrote: