0

我有has_many通過用戶,程序和註冊模型的關聯。想法是用戶可以將Prog添加到他的配置文件列表中,並且Prog可以拒絕或接受來自用戶的請求。從數據庫檢索連接模型列的正確方法?

這是怎麼接受的方法是這樣的:

招生#接受

def accept 
    @enrollment = Enrollment.find_by_user_id(params[:id]) 
    @enrollment.status = "accepted" 
    @enrollment.save! 
    .... 
end 

我爲什麼已瞭解這是不對的,如果我理解正確的方法接受報名必須得到user.id和前衛。 ID從數據庫中檢索數據。所以,user.id與link_to一起傳遞,但是如何顯示prog.id來幫助Enrollment查找我需要的列?

<% @prog.users.each do |user| %> 
    <%= link_to "#{user.email} accept", controller: "/enrollments", action: "accept", id: user.id, method: "post" %> 
    <% end %> 

我的猜測是,如果這是真的比讓我知道我應該專注於使其work.Thanks一些基本的東西被遺漏。

回答

0

如果我正確理解你,你只需要傳遞兩個參數(用於user_id和prog_id)到鏈接並找到這兩個參數的註冊。 查看:

<%= link_to "#{user.email} accept", controller: :enrollments, action: :accept, user_id: user.id, prog_id: @prog.id, method: :post %> 

並在控制器:

@enrollment = Enrollment.find_by_user_id_and_prog_id params[:user_id], params[:prog_id] 
+0

我會盡快檢查並讓你know.thanks – vitdes

相關問題