1

나는 - 내가 생각하기에 - 간단한 질문이다. 여기에 내 코드입니다 :어린이 개체를 반환하는 방법은 무엇입니까?

class Fruit < ActiveRecord::Base 
end 

class Apple < Fruit 
end 

class Kiwi < Fruit 
end 

내가 제대로 모든 STI의 설정을 가지고 있다고 가정하고, 테이블에 애플과 키위 기록의 여러 종류가 있습니다. 여기에서 ...

... 어떻게 과일 배열에서 사과의 배열을 반환합니까?

답변

2

그들은 단지 보통의 객체 인 경우에 당신이 그것을 할 것 같은 방법 :

fruits.select {|fruit| fruit.is_a?(Apple) } 

STI 당신은 또한 할 수 있도록 서브 모델을 추적하기 위해 type 필드를 사용

fruits.select {|fruit| fruit.type == "Apple" } 

하는 경우 데이터베이스에서 사과 만 가져오고 싶다면

Apple.find(:all) 
관련 문제