渲染不同的零件以使用不同的模型(STI)进行采集

时间:2019-03-17 16:59:39

标签: ruby-on-rails ruby activerecord erb actionview

我与模型的不同子类型有某种关系。

Class Venchile < ApplicationRecord; end
Class Car < Venchile; end
Class Moto < Venchile; end

@venchiles = Venchile.all

我为他们提供了不同的选项: cars / _car.html.erb motos / _moto.html.erb 。然后渲染整个收藏集

<%= render @venchiles %>

一切正常。每个模型都呈现自己的部分。但是我还有一个更具体的部分: cars / _car_info.html.erb motos / _moto_info.html.erb

问题是如何用不同的“ * _info.html.erb”部分呈现整个混合集合@venchiles?

1 个答案:

答案 0 :(得分:0)

您应该问自己:
“为什么来自同一模型的两个实例对象需要不同的视图?”
这可能是关系未规范的迹象。它们可能属于不同的模型,或者至少具有不同的类型。