2012-09-08 2 views
0

레일 응용 프로그램에서 모델을 설정하는 방법이 궁금합니다. 어떤 종류의 중첩 된 연관을 사용해야하지만 적절한 명세가 무엇인지 확신 할 수 없다는 것을 알고 있습니다. 아래에서 문제에 대한 설명을 볼 수 있습니다. 어떤 제안이라도 대단히 감사하겠습니다.레일에서 by_group을 사용하여 belongs_to를 구현하는 방법

저는 많은 다른 회사를 소유 한 사모 투자 회사에서 일합니다. 우리는 포트폴리오 전체에서 구매를 추적하는 웹 애플리케이션을 구축하고자합니다. 좀 더 구체적으로 말하자면, 우리는 특정 공급 업체 및 특정 범주의 공급 업체 (총계 및 각 회사 모두)와 지출 한 금액을 파악하고자합니다.

이 모델링은 충분히 직관적 인 것처럼 보일 것입니다. 회사 모델, 범주 모델, 공급 업체 모델 (각 공급 업체가 범주에 속하는 경우) 및 트랜잭션 모델 (각 거래가 특정 공급 업체 및 특정 회사에 속하는 경우)을 작성합니다. 그러나 요구 사항에 주름이 있으며 처리 방법이 확실하지 않습니다. 우리는 서로 다른 회사가 동일한 공급 업체를 다르게 분류 할 수 있도록 허용하고 각 공급 업체에 대해 표준 분류를 부여하기를 원합니다. 따라서 한 회사는 스테이플을 사무용품으로 분류 할 수 있고 다른 회사는 SGA 사무용품으로 분류 할 수 있지만 스테이플을 항상 사무용품에 매핑하는 표준 분류를 유지합니다.

이것을 설정하는 가장 좋은 방법은 무엇입니까? 저는 2 개의 카테고리 모델을 만들 것이라고 생각했습니다. 하나는 stanard_category : has_many => 공급 업체입니다. 또 다른 회사는 company_category를 has_many => 회사 별 공급 업체와 함께 호출했습니다. 이것이 올바른 접근 방법입니까? 그렇다면 company_category에 대한 : has_many 관계가 각 회사에 특정되도록 지정하려면 어떻게해야합니까? 중첩 된 경로를 사용하려는 상황입니까? 응용 프로그램의 특성에 따라 중첩 된 경로를 사용하십시오 여부

class Company 
    has_many :company_categories 
end 

class CompanyCategory 
    belongs_to :company 
    has_and_belongs_to_many :vendors 
end 

class StandardCategory 
    has_many :vendors 
end 

class Vendor 
    has_and_belongs_to_many :company_categories 
    belongs_to :standard_category 
end 

:

답변

0

다음은 사용자의 요구에 맞게 것이다 구성 예입니다.

관련 문제