2010-07-07 6 views
1

저는 부모 시간이있는 StudentHours 및 TeacherHours에서 단일 테이블 상속을 사용하고 있습니다.Ruby on Rails에서 컨트롤러 상속 - 부모 클래스의 모델 및 컨트롤러 액세스

모델 코드는 대부분 hour.rb이며, student_hour.rb 및 teacher_hour.rb

지금은 컨트롤러 대부분의 코드뿐만 아니라 중복되는 것을 실현에 아주 작은, 그래서 나는을 만들었습니다 hours_controller는 students_controller 및 teachers_controller의 부모가됩니다.

def MyModel 
@mymodel = "TeacherHours" 
end 
가 ... 다음 hours_controller 단순히

때때로있다 MyModel.new

호출 등 TeacherHours.new 같은 hours_controller가 인스턴스화 때문에 모델 객체 나 같은 하위 클래스에서 접근을 만들었습니다 다른 모델은 참조되고 때로는 뷰의 '렌더링'이라고도 부르므로 하위 클래스의 접근 자도 만들었습니다.

나는 이것을하는 다른 사람들의 예를 찾을 수 없습니다. 그래서, 어떤 이유로 든 나쁜 것입니까, 아니면 더 좋은 방법이 있습니까?

답변

0

왜 이러한 모델의 동작에 상속을 사용해야합니까?

이것은 모델과 컨트롤러 모두에서 불필요한 상속과 같습니다.

+1

필자는 그렇게 할 필요가 없지만 모든 방법이 컨트롤러와 모델에서 모두 복제되기 때문에 선택했습니다. – 99miles

+0

대안으로 모델 상속을 단일화하고 단일 컨트롤러를 사용할 수도 있습니다. 모델의 두 하위 유형을 갖는 것의 가치는 무엇입니까? 상속 사용의 복잡성없이 동일한 동작을 얻을 수 있습니다. – Winfield