0

나는 User, Prog 및 Enrollment 모델에 대해 has_many 연관을가집니다. 사용자는 자신의 프로필 목록에 Prog를 추가 할 수 있으며 Prog는 사용자의 요청을 거절하거나 수락 할 수 있습니다.조인 모델의 데이터베이스에서 열을 검색하는 올바른 방법은 무엇입니까?

재학생 번호가 I이 잘되지 않는 이유 알아 보았 내가 제대로 이해하고 경우에 user.id 및 음식물을 받아야 방법의 등록을 받아

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

을 받아 들일 :

이 방법을 수용하는 방법이다는 것 같습니다. 데이터베이스에서 데이터를 검색하는 ID입니다. 따라서 user.id는 link_to와 함께 전달됩니다. 그러나 필요한 열을 찾기 위해 등록 절차를 돕기 위해 prog.id를 어떻게 표시합니까? 그 날 내가 그것을 work.Thanks 만들에 초점을 맞춘다 알려보다 사실이라면 뭔가 기본 놓친 것을

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

내 생각 엔.

답변

0

정확하게 이해한다면 두 개의 매개 변수 (user_id 및 prog_id)를 링크에 전달하고이 두 매개 변수를 사용하여 등록을 찾아야합니다. 보기 :

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

내가 곧을 확인하고 당신을 알아요 고마워요 드릴 것입니다 :

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

그리고 컨트롤러

vitdes

관련 문제