2011-02-22 5 views
1

단일 테이블 상속, 다형성 연관 등을보고 매우 혼란스러운 오후를 보낸 후 상당히 간단한 문제를 모델링하는 올바른 방법을 완전히 잃어 버렸습니다.레일에서 서브 클래스를 올바르게/효율적으로 모델화하는 방법 3

기본적으로 다른 유형의 페이지를 나타내야합니다. 개별 페이지 유형에는 다양한 변수 세트가 있으므로 다른 모델로 저장하려고합니다. 이들은 특정 비트의 데이터 (예 : 현재 게시 중인지 여부)와 일부 기능 (예 : 정적 버전의 페이지 생성)을 공유합니다. 레일이 일을 처리하는 방법을 살펴보기 전에, 자연스러운 반응은 다른 모든 것을 가진 Page 객체가 필요하다고 생각하는 것이 었 습니다만, 그것이 최선의 방법이 아닌 것 같습니다. 또는 다형성 연관을 사용할 수있는 것처럼 보이지만 이것을 구현하는 방법에 대해 혼란스러워합니다.

실제 프로젝트에 레일을 사용하는 것은 처음입니다.하지만 뭔가 함께 자갈을 넣을 수는 있겠지만 올바른 방법을 선택하는 데 도움이 될만한 점이 많습니다.

답변

3

제 의견으로는 제 생각에 올바르게 생각하고 있습니다. 상속 모델이거나 다형성 모델입니다. 나는 다형성 모델이 가장 좋은 방법이라고 생각합니다. 페이지 모델과 User_Page, Blog_Page 등 원하는 것을 가지고 있어야합니다. 이 모델들 각각은 다른 사람들이 가지고 있지 않은 몇 가지 속성을 가질 것입니다. 다형성은 구현하기가 쉽습니다. 여기를 보시기 바랍니다 : http://asciicasts.com/episodes/154-polymorphic-association

관련 문제