저는 현재 metric
모델을 가지고 있습니다.이 모델은 operands
두 개가 걸릴 수 있으며 operation_type
을 기반으로 계산을 수행하여 사용자 지정 결과 메서드를 통해 결과를 생성 할 수 있습니다. 이것은 예상대로 작동합니다.레일 - 자체 참조 모델?
이 확장 가능하게하려면 두 개의 피연산자 (현재), 하나의 피연산자 및 하나의 메트릭 또는 두 개의 메트릭을 사용하여 계산을 수행 할 수 있어야합니다. 그 이유는 확장 가능하기 때문에 이전 작업 결과를 사용할 수 있기 때문입니다.
이 자기 조인을 만드는 방법은 내가 붙어있다. 나는 다형 자기 참조의 길을 어떻게 든 가야한다고 상상한다. 그러나 문서가 나를 이끌어 내고있는 것은 아니다. 나는 현재 calculated_metric
모델을 추가로 설치했지만, 이것이 갈 길이 아닌지 잘 모르겠습니다.
class Metric < ActiveRecord::Base
attr_accessible :name, :operation_type_id
end
class Operand < ActiveRecord::Base
attr_accessible :object, :attribute
end
class Calculated_metric < ActiveRecord::Base
attr_accessible :metric_id, :calculated_metric_id
end
어떤 도움을 크게 감상 할 수있다 : 다음과 같이
내 모델 본다. 감사!
편집 : 아마 내가 조금 더 명확히 할 수 있습니다. 저는 현재 별도의 calculated_metric
모델을 가지고 있습니다. 계산에 다른 측정 항목의 결과를 사용하려면이 방법이 가장 좋으며, left_metric
및 right_metric
을 기존 metric
테이블에 추가하면 더 간단하게 달성 할 수 있습니까? (왼쪽 및 오른쪽은 수식이 뺄셈, 예를 들어, 어느 것을 빼앗아 갔는지 알고 있습니다)? 이것이 많은 경우에 null이 될 것이므로 이것이 이상적인 해결책인지 확신 할 수 없습니다.