의 내가 여러 가지 서브 클래스 유지하기 위해 STI 패턴을 사용하고 있다고 가정 해 봅시다 "거래"를레일 : STI 계층 구조에서 클래스의 인스턴스를 저장 유형별로 어떻게 작성합니까? "액티브"을 하위 클래스
내 서브 클래스 테이블 "거래"에 저장합니다 레일 "HighPriorityTransaction"와 "LowPriorityTransaction"를 포함 할 수 있습니다"유형"열이 있습니다. 각 서브 클래스에는 before_save 콜백의 다른 구현이 있습니다.
클래스의 인스턴스를 유형 문자열 값으로 어떻게 만들 수 있습니까?
나는 combobox에서 유형을 가져 와서 해당 유형을 인스턴스화하고 객체가 다형성을 통해 before_save 콜백을 처리하게한다고 생각하고 있습니다. 이것에 대한 추가 아이디어는 또한 높이 평가 될 것입니다.
감사합니다. 그 접근 방식
type = Kernel.const_get("type_string")
#which in this case might be
#type = Kernel.const_get("HighPriorityTransaction")
transaction = type.new