我在 StudentHours 和 TeacherHours 中使用单表继承,它们有一个父 Hours。
模型代码大部分在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
有时还会引用其他模型,有时我什至在视图上调用“渲染”,因此我也在子类中为这些模型创建了访问器。
我找不到其他人这样做的例子。那么,这是否出于某种原因不好,还是有更好的方法?