Ruby on Rails中的控制器继承 - 父类中的模型和控制器访问

时间:2010-07-07 20:25:10

标签: ruby-on-rails inheritance single-table-inheritance

我在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',所以我也在子类中创建了访问器。

我找不到其他人这样做的例子。那么,这有什么不妥,还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

为什么需要对这些模型的行为使用继承?

这听起来像模型和控制器中的不必要的继承。