2013-02-08 4 views
0

@users에서 두 개의 사용자 객체를 얻습니다. 내가 얻을 모두가 같은 오류가사용자 배열에서 many to many 관계를 만드는 방법

@users = User.find(session[:user_id], params[:user_task]) 
@task = @users.tasks.create(params[:task]) 
@task.owner_id = session[:user_id]  

if @task.save 
    redirect_to task_path(@task) 

지금 내가 taskobject을 저장하고 모든 @users 그 작업 사이의 관계를 추가 할 .... : [작업] : 그리고 PARAMS에서 작업 개체가 정의되지 않은 배열에 대한 메소드`tasks '. 어떻게해야합니까?

+0

이 아니에요 당신이 뭘 하려는지 정말 선택. 어떻게 사용자를 얻고 있습니까? 'params [: user_task]'에 무엇이 있습니까? –

+0

메신저를 user_ids에서 가져 오는 중입니다. 먼저 세션의 로그인 사용자와 params [: user_task] (확인란의 사용자 ID이어야 함)에서 가져옵니다. –

+0

1. 새 작업 params [: task] 을 만들고 싶습니다. 2. @users의 모든 사용자와 작업을 추가하십시오. –

답변

1

먼저 새 작업을 초기화하고 소유자를 지정하여 저장 한 다음 작업이 성공하면 모든 사용자와 연결을 생성해야합니다. 이처럼

:

@task = Task.new(params[:task]) 
@task.owner_id = session[:user_id] 
if @task.save 
    @users = User.find(session[:user_id], params[:user_task]) 
    @users.each { |user| user.tasks << @task } 
+0

지금은 완벽합니다 :)! 감사합니다. –

+0

대단히 환영합니다! –