部分异构集合

时间:2012-03-23 03:13:17

标签: ruby-on-rails class collections partials heterogeneous

我正在敲打脑袋想出一种方法来获得异构的部分集合。我使用它来列出名为@feed_items的部分集合(在“Tweet”类中),并且它适用于一个类:

  <%= render :partial => 'shared/feed_item', :collection => @feed_items %>

@feed_promos partials具有不同类的对象(“promotion”类),并且它们与feed_item partial位于同一“共享”目录中。有没有人知道在集合中同时拥有@feed_promo和@feed_item的代码?

我试图简化使用rails 3的快捷方式:

  <%= render [feed_items, feed_promos] %>

但我得到一个错误,因为它希望找到Tweet模型的模板,但它不存在,我想要一个局部集合,而不是不同类的对象(如推文)。我已经进入了relationship.rb和tweet.rb并且已经包括:

def to_partial_path 'shared/'

1 个答案:

答案 0 :(得分:0)

将您的部分分别放在tweets/_tweet.html.erbpromotions/_promotion.html.erb

在你的控制器中制作一个集合:

@feed = @feed_items + @feed_promos

在您看来:

<%= render @feed %>