我正在创建一个ActiveRecord查询,它将每个模型的内容连接到一个名为@contents
的数组中。但我需要显示来自特定模型的数据的不同内容。
所以在我看来,我需要对我的数组元素进行某种测试:
<% @contents.each do |c| %>
<article>
<% if [TEST FOR EVENT] %>
EVENT HTML
<% elsif [TEST FOR POST] %>
POST HTML
<% end %>
</article>
<% end %>
如何获得c
来自的模型?
答案 0 :(得分:1)
这可以解决问题:
c.kind_of?(Event) #=> true or false
我的比较简短版本:
3.class #=> Fixnum
3.is_a? Integer #=> true
3.kind_of? Integer #=> true
3.instance_of? Integer #=> false
# is_a? & kind_of? can 'detect' subclasses, when instance_of? does not
答案 1 :(得分:1)
您可以使用is_a?
方法。
<% if c.is_a?(Event) %>
或<% if c.is_a?(Post) %>
只需传递班级名称。