내가이 내 원래의 시나리오 인의 RoR 응용 프로그램 을 짓고 있어요와 ActiveModel 협회 :루비 - 배열
2 모델, Clienti 및 Interventi이
class Clienti < ActiveRecord::Base
has_many :interventi, :dependent => :destroy, :foreign_key => "cliente_id"
......
end
class Interventi < ActiveRecord::Base
belongs_to :clienti, :foreign_key => "cliente_id"
.........
end
이있다 간단한 "일대 다 (one-to-many)"관계로, 각각의 "클라이언트"는 많은 "인터벤션"을 가지고 있습니다 (iterventi는 내 앱에서 일종의 일입니다).
오늘이 관계를 일대 다에서 다 대다 관계로 변환해야합니다. 각 "interventi"에는 하나 이상의 "clienti"가 있어야하므로 "cliente_id"열을 변경해야한다고 생각합니다. DB에서 int에서 텍스트로 "Clienti 's ids"배열을 저장하십시오. (좋은 방법입니까?)
제 질문은 : 좋은 방법이라면 어떻게 사용할 수 있습니까? "Clienti.Interventi.count"같은 것?
모두에게 감사드립니다!
Clienti.first.interventis.count
또는Interventi.first.clientis.count
, 당신이하던대로하고있다 유지할 수 있습니다 다 대다 관계. 레일스 공식 가이드를 읽었다면 이것을 설정해야 할 것입니다. http://guides.rubyonrails.org/association_basics.html –레일즈 방법은 조인 테이블 역할을하는 새로운 모델을 추가하는 것입니다 (나중에 추가 속성이있을 수도 있음). 좋은 이름을 생각해 내면 사용할 수 있습니다. 그렇지 않으면'ClientiInterventi'를 사용하십시오. 그것은 Clienti와 Interventi에 속할 것입니다; C + 나는 둘 다 ClientiInterventi를 가질 것이다. – Raffael