1
我在StudentHours和TeacherHours中使用單個表繼承,它們有一個父小時。Ruby on Rails中的控制器繼承 - 父類中的模型和控制器訪問
型號代碼大多在hour.rb,並在student_hour.rb和teacher_hour.rb
現在我意識到,大多數控制器代碼被複制,以及非常小的,所以我創建了一個hours_controller是students_controller和teachers_controller的父級。如TeacherHours.new 因爲hours_controller實例化模型對象我創建了一個訪問的子類,如:
def MyModel
@mymodel = "TeacherHours"
end
...那麼hours_controller只需調用MyModel.new
偶爾有其他模型被引用,有時我甚至會在視圖上調用「渲染」,所以我在這些子類中也創建了訪問器。
我找不到其他人做這個的例子。那麼,這是不是有什麼理由,或者有更好的方法嗎?
我不需要,但我選擇了,因爲所有的方法都會在控制器和模型中重複。 – 99miles 2010-07-08 02:21:47
另一種方法是平滑模型繼承並使用單個控制器。擁有這兩個模型子類型的價值是什麼?你也許可以得到相同的行爲,而沒有使用繼承的複雜性。 – Winfield 2010-07-08 17:07:47