2

두 모델이 있습니다. 하나는 브랜드이고 다른 하나는 product_detail입니다. 브랜드 테이블에는 id 및 name 필드가 있으며 product_details 테이블에는 id, name, price, discount 및 brand_id 필드가 있습니다.sunspot_rails gem을 사용하여 belongs_to assocication에 검색 가능한 메소드를 쓰는 방법

class ProductDetail < ActiveRecord::Base 
    belongs_to :Brand, :dependent=>:destroy 
end 

암은 태양 흑점을 사용하여 검색하는 것을 시도처럼 보인다

class Brand < ActiveRecord::Base 
    has_many :product_details 
end 

및 product_details.rb :

브랜드는 많은 product_details 및 product_detail 같이

brand.rb 보이는 브랜드를 속해있다 울타리. 사용자가 입력 한 텍스트로 브랜드 이름과 제품 이름을 기반으로 검색하고 싶습니다. 이 같은이 작업을 수행하려면 내가 쓴 검색 방법 :

class ProductDetail < ActiveRecord::Base 
    belongs_to :brands, :dependent=>:destroy 

    searchable do 
     text :name 
     text :brands do 
     brands.map(&:name) 
     end 
    end 
end 

난 레이크 태양 흑점 실행하는 경우 : 재 인덱싱을

과 같이 코드를 변경하는 경우 그것은 전무 클래스

에 대한 오류 정의되지 않은 메서드 맵을 던지고있다

class ProductDetail < ActiveRecord::Base 
    belongs_to :Brand, :dependent=>:destroy 

    searchable do 
     text :name 
     text :Brand do 
     brands.map(&:name) 
     end 
    end 
end 
그것은 product_detail 클래스에 대한 오류 정의되지 않은 메서드 브랜드를 던지고있다

도와주세요. 어떻게해야합니까?

답변

3

belongs_to :brand, :dependent=>:destroy 

해야하지만 당신은 당신이 그와 관련된 product_detail을 삭제할 때마다 브랜드를 삭제 하시겠습니까? 어떤 경우

가 검색 가능한 블록이 다음

searchable do 
    text :name 
    text :brand do 
    brand.name 
    end 
end 

나는 희망으로 작성되어야하며, 그 도움이됩니다.

+0

아니요 제품을 삭제할 때 브랜드를 삭제하고 싶지 않습니다. 그것의 나의 실수는, 나는 브랜드 모델 대신 product_details 모델에서 종속성을 파괴했다. 나는 내 실수를 바로 잡을 것이다 –

+0

고맙습니다. 내 문제가 해결되었습니다. –