2017-04-04 5 views
0

내가 두 연관 객체레일스 조인을 사용하여 2 개체를 얻는 방법 및 횡전에 대한 정보?

관계

  1. Proback 사용자에 속하는
  2. Proback 제품에 속하는
  3. 제품 has_many의 probacks
  4. 사용자 has_many의 probacks를 얻을 수 더듬다를 사용하려고 해요

하지만 로그를 보여 products.id =

액티브 :: PreparedStatementInvalid (잘못된 바인드 변수 수의 2 (1)

? 및 users.id =?)

@q = Proback.joins(:product,:user).where('products.id = ? and users.id =? ', @product.id,@user.id).ransack(params[:q]) 

누군가가 힌트를 마련 할 수있는하십시오?

+0

당신이 이러한 모델 사이의 관계를 설명 할 수있는 쉬운 것입니다이 오류 차별화 이렇게함으로써

result = Proback.joins(:product, :user).where('products.id = ? and users.id = ?', @product.id, @user.id) @q= result.ransack(params[:q]) 

? – Mayank

+0

@mayank, 물론! 잠시만! – nakapaka1

답변

0

이 시도 : 당신은 = ? 누락

@q = Proback.joins(:product, :user).where('products.id = ? and users.id = ?', @product.id, @user.id).ransack(params[:q]) 

.

+0

Kavicat, 고맙습니다. 똑같습니다. – nakapaka1

0

코드를 확인하고 시나리오를 다시 만들었지 만 그러한 오류가 발생하지 않았습니다. 내가 언급 한 오류도 생성되었습니다.

액티브 :: PreparedStatementInvalid : 그것은 하나 이상의 결합을 통과 할 때 발생

(2위한 바인딩 변수의 수가 잘못 (1)? = products.id 및 users.id =?) 변수 또는 더 적은 where 절에서. 코드를 다시 시도하고 바인딩 변수가 '?'와 일치하는지 확인하십시오. :