두 클래스가 있습니다 : Category
및 Meter
입니다. Category
처럼 Meter
에는 이름이 있으며 다양한 Bill
을 분류하는 데 사용됩니다. 그들 사이의 차이점은 Meter
이 몇 개의 연결이 더 있고 Category
또는 Meter
을 부모로 가질 수 있다는 점입니다.레일 : 연결된 STI 클래스의 순환 종속성
여기
은 내가 단일 테이블 상속을 사용하여이 도메인을 구현했습니다,하지만 난이 'load_missing_constant': Circular dependency detected while autoloading constant Meter
오류가 콘솔이나 테스트하거나 서버를 실행하려고하고있을 때 (전체 추적 here.입니다) 문제의 클래스 :
meter.rb :
class Meter < Category
belongs_to :parent, class_name: Category
has_many :meter_values, dependent: :destroy
has_many :tariffs, dependent: :destroy
validates :init_meter, presence: true
validates :init_meter, numericality: { greater_than_or_equal_to: 0.0 }
def current_tariff
tariffs.first
end
end
category.rb :
class Category < ActiveRecord::Base
has_many :bills, dependent: :destroy
has_many :children, class_name: Meter, inverse_of: :parent, foreign_key: :parent_id
validates_associated :bills
validates :name, presence: true
end
감사합니다. 결국 제가 한 것입니다. 그것은 또 다른 하루 동안의 이야기 다. :) –