我在StudentHours和TeacherHours中使用单表继承,它们具有父小时。
模型代码主要在hour.rb中,而在student_hour.rb和teacher_hour.rb中很少
现在我已经意识到大多数控制器代码也是重复的,所以我创建了一个hours_controller作为students_controller和teachers_controller的父代。 因为hours_controller实例化了诸如TeacherHours.new之类的模型对象,所以我在子类中创建了一个访问器,例如:
def MyModel
@mymodel = "TeacherHours"
end
...然后hours_controller只调用MyModel.new
偶尔会有其他模型被引用,有时我甚至会在视图上调用'render',所以我也在子类中创建了访问器。
我找不到其他人这样做的例子。那么,这有什么不妥,还是有更好的方法?
答案 0 :(得分:0)
为什么需要对这些模型的行为使用继承?
这听起来像模型和控制器中的不必要的继承。