Rails STI和视图重用

时间:2012-03-11 04:24:53

标签: ruby-on-rails view sti

我有一个STI模型,并希望重用派生模型的基本视图。 例如,如果我有老师<我希望教师的视图包含人的视野字段。

有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:1)

如果我理解你的问题......默认情况下它们是可用的。使用STI时,每个派生模型都可以访问基类中的所有字段。 (桌子上的任何字段)

例如,渲染局部时,您可以正常传递对象:

= render :partial => 'person', :object => @teacher

上面的代码可以通过多种方式完成,但我只是想说明一下。

答案 1 :(得分:0)

如果您有教师和人员控制器,那么您可以从教师视图中的人员渲染视图(部分,模板)。

<强>实施例

您可以在教师视图中写下以下行

= render :partial => 'persons/<PARTIAL NAME>'

= render :template => 'persons/<TEMPLATE>'

= render :file => 'persons/new'

答案 2 :(得分:0)

render使用正确的部分内容,因此,如果您拥有_teacher.html.erb_person.html.erb部分内容,则可以render该人员在教师内部,并且当您致电{{1使用对象将呈现右部分:

render

因为教师在这种情况下部分渲染了你所拥有的那个人信息。