6
RABL을 사용하여 Sunspot/SOLR 결과 집합을 출력하고 검색 결과 개체가 여러 모델 유형으로 구성됩니다. 현재 rabl보기 내에서 :Rabl 다중 모델 모음
object false
child @search.results => :results do
attribute :id, :resource, :upccode
attribute :display_description => :description
code :start_date do |r|
r.utc_start_date.to_i
end
code :end_date do |r|
r.utc_end_date.to_i
end
end
child @search => :stats do
attribute :total
end
위의 단일 모델에 대해 작동합니다; 그러나 여러 모델 유형이 @ search.results 컬렉션 내에 있으면 두 클래스 모두 동일한 인스턴스 메서드가 없으므로 실패합니다. 누구든지 유형에 따라 다른 속성을 갖는 방법을 알고 있습니까? 궁극적으로 개체 유형에 따라 결과 컬렉션에서 다른 템플릿을 조건부로 확장하는 것이 좋습니다. 아래 의사 코드 비슷해 : 당신은 완전히 '최악'의 경우에 '노드'와 모든 권한을 가지고이 문제를 방지 할 수
child @search.results => :results do |r|
if r.class == Product
extends "product/base"
else
extends "some other class base"
end
end
감사합니다. Nathan - 완벽하게 작동했습니다! 정말 도움을 주시면 감사하겠습니다. – ejlevin1
감사합니다.이게 정말 도움이되었습니다. –