지금까지는 다음과 같은 모델을 작성하는 데 하루를 보냈습니다. 단순해야한다고 생각하며, 너무 많이 보았습니다. 아마도 뻔한 해결책이있을 것입니다. 나 ..다형성 또는 has_many : 현금 흐름을 기록하기위한 방법
는는 목적 : Users
책을 청구 할 수 있습니다 events
위에 clients
는, 사용자는 (돈), other_charges
(돈) 만 고객 관련) 기록의 일반 사람들 chargeable events
에 대한 지불을 설명하는 cashbox
영역에 액세스 expenses
(돈이나 이벤트 나 고객과 관련없는)).
지금까지 : 사용자, 클라이언트 및 이벤트 모델이 올바른 연결로 생성되었습니다. 전형적인 시나리오; 사용자 도서 클라이언트를 청구 할 수있는 이벤트로 설정합니다 (부울 값).
# == Associations so far
class User < ActiveRecord::Base
has_many :clients
has_many :events
end
class Client < ActiveRecord::Base
has_one :user, through: :events
has_many :events
end
class Event < ActiveRecord::Base
belongs_to :user
belongs_to :client
end
문제 :를 통해 : cashbox
에 대한 협회는 다형성 또는 has_many해야 하는가?
나는 다형성을 사용하여 그것을 이해합니다. 이벤트, other_charges & 비용은 cashboxable
일 수 있습니다. 단점은 내가 다형성 연관을 통해 sum
을 할 수 없다는 것을 이해하고 있다는 것입니다.
has_many 통해 나는 이것을 어떻게 연관시키는 지 혼란 스럽다. 하지만 나는 뭔가를 놓칠 수 있습니다.