所以我得到了关于配置的约定以及类的方法如何与他们的视图联系起来,很棒。但是,例如,如果我想使用超类中的方法处理所有子类的相同方法,然后在超类方法中呈现适当的视图,那该怎么办呢。
例如,我有几个类是Section类的子类。每个子类都有一个编辑方法和视图:
class CalendarsController < ApplicationController
...
def edit
@calendar = Calendar.find(params[:id])
render layout: false
end
end
,超类方法包含自己的编辑方法,该方法重定向到子类方法:
class SectionsController < ApplicationController
...
def edit
@section = Section.find(params[:id])
case @section._type
when "Calendar"
redirect_to edit_organization_bulletin_calendar_path(@organization, @bulletin, @section)
end
end
...
end
有没有办法可以消除所有子类编辑方法,只是直接从超类'方法访问正确的模型视图?看起来这会更优雅,更像......像红宝石一样。