ruby on rails - undefined method 'map' for :id:Symbol -


actionview::template::error (undefined method `map' :id:symbol):     # duels/_user_challenges.html.erb     1: <div id="dropdown-no-2">     2:    <%= collection_select 'challenge_id', challenges, :id, :full_challenge, include_blank: true %>.     3: </div> 

when user selects user duel challenges respective user should shown.

duels/_dueler_fields.html.erb

<%= f.collection_select :user_id, user.order(:name),:id, :full_name, include_blank: true, id: "id_of_the_user_id_select_box" %>    <%= render :partial => 'user_challenges', locals: {challenges: challenge.order(:deadline)} %>  <script>   $( "#id_of_the_user_id_select_box" ).change(function() {        $.ajax({           type: "get",           url: '<%= user_challenges_path %>',           data: {name: $('#id_of_the_user_id_select_box').prop('value')}        });   }); </script> 

duels/user_challenges.js.erb

$("#dropdown-no-2").html('<%=j render :partial => "user_challenges", locals: {challenges: @challenges} %>');  

duels_controller.rb

def user_challenges   @user = user.find(params[:id])   @challenges = @user.challenges.order(:deadline) end 

see http://edgeapi.rubyonrails.org/classes/actionview/helpers/formbuilder.html#method-i-select.

i suggest using select formhelper achieve this:

so this

<%= f.collection_select :user_id, user.order(:name),:id, :full_name, include_blank: true, id: "id_of_the_user_id_select_box" %> 

becomes this

<%= f.select :user_id, user.order(:name).map { |user| [user.full_name, user.id] }, include_blank: true, id: "id_of_the_user_id_select_box" %> 

Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -