view - Rails: Add user to project's users collection -


i've got project , user models belongs_and_has_many in them. need add specific user project's collection. i've got method in projects controller:

def addfriend   @project = project.find(params[:id])   @project.users << user.find(params[:user])   respond_to |format|     format.html { redirect_to project, :notice => 'added.' }   end end 

and i've got code in show.html.erb of project:

<select id="user_select" name="user_select" class="input-large">   <% @users.each |user| %>     <option><%= user.username %></options>   <% end %> </select> <!-- button addfriend method here --> 

now, need add button on mark in code (or somewhere else) calling "addfriend" method.

in routes.rb i've got:

 resources :projects    collection      :addfriend    end  end 

assuming have @project variable defined somewhere:

<%= link_to 'add friend', addfriend_project_path(@project, user_id: user.id) %> 

in projects controller action change 2 firsts lines this:

project = project.find(params[:id]) @project.users << user.find(params[:user_id]) 

and in routes:

resources :projects   member       :addfriend   end end 

Comments