2013-05-05 69 views
0

我已經有了包含belongs_and_has_many的項目和用戶模型。現在我需要將特定用戶添加到項目集合中。我有方法在項目控制器:Rails:將用戶添加到項目的用戶集合

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

,我已經在show.html.erb項目得到這個代碼:

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

現在,我需要添加標記按鈕在代碼中(或其他地方)調用「addfriend」方法。

的routes.rb我有:

resources :projects do 
    collection do 
    get :addfriend 
    end 
end 

回答

1

假設你有一個定義變量@project某處:

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

在項目控制器動作變化爲2個創​​舉線這樣的:

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

而在你的路線:

resources :projects do 
    member do 
     get :addfriend 
    end 
end 
+0

完美!謝謝。 – medy75 2013-05-06 07:14:59

相關問題