2011-07-02 6 views
-1

두 가지 모델 제품과 구매가있는 응용 프로그램이 있습니다.has_many를 사용한 연결 : 문제를 통해

제품 내 시스템 및 구매 사용자가 만든 모든 구매를 정의하는 모든 제품의 목록 ...

지금 내가 제품을보고 제품을 구입하고 혹 그가 구매 버튼에 도달 할 수있는 특정 CURRENT_USER이 포함되어 있습니다, 그는 그가 만든 모든 물건을 볼 수있었습니다. 나는 지금
class Product < ActiveRecord::Base 
    has_many :purchased_products 
    has_many :purchases, :through => :purchase_products 
end 

class Purchase < ActiveRecord::Base 
    has_many :products, :through => :purchased_products 
    has_many :purchased_products 
end 

class PurchasedProducts < ActiveRecord::Base 
    belongs_to :purchases 
    belongs_to :products 
end 

가 나는 사용자가 어떤 제품과 쇼를 구매 한 알 어떻게받지 못했습니다에 .. 협회 has_many :through을 만들었습니다 함께 구입 및 제품 테이블을 연결하는 새로운 모델이라는 purchased_products을 만들었습니다 그의 모든 구매는?

또한 현재 사용자의 모든 구매를 찾으려면 코드를 지정해야합니까?

답변

0

당신과 같이 두 개의 매우 간단한 문장으로 ProductPurchase의 및 바이스 반대에 액세스 할 수 있습니다

some_product = Product.find(some_product_id_or_find_query).purchases 
some_purchases = Purchase.find(some_purchase_id_or_find_query).products 

당신은 UserPurchase 사이의 관계를 정의하지 않은, 나는이 가고 가정 다른 HABTM 협회가 되려면 Product-> Purchases and Purchases-> Product와 같이 할 수 있습니다.

액티브 협회가 아주 잘 설명되어 있습니다로 당신은 확실히 이런 종류의 구글 주위에 검색해야

, http://edgeguides.rubyonrails.org/association_basics.html

+0

이 사용자와 제품 및 구매 클래스 사용자 <액티브 :: 자료 has_many 사이 나의 관계는 – Bebo

0

는 A User has_many 제품 및 구매 경우에, 당신은 아마 당신 users_controller show 액션에 같은를 참조 할 것 : 제품 has_many : 구매 끝

@current_user = User.find(params[:id]) 
@products  = @current_user.products 
@purchases = @current_user.purchases 
관련 문제