0

假设我有:

class Edible
end
class Apple < Edible
end
class Orange < Edible
end

我正在渲染这些食物的集合,无论它们的实际类型如何:

<%= render @edibles %>

这行得通,但 Rails 希望我将这些视图放在apples/appleoranges/orange.

有没有办法告诉 Rails 在同一个文件夹中查找视图,即edibles/appleedibles/orange

4

2 回答 2

1
  def partial
    edible_type.class.name.underscore ##edible type can be apple or orange
  end

<% @edibles.each do |edible| %>
  <%= render( :partial => "edibles/#{edible.partial}", :locals => {:edible => edible}) %>
<% end %>
于 2013-08-26T22:37:14.473 回答
0

您可以在不使用each的情况下呈现集合:

<%= render partial: "edibles/edible", collection: @edibles, as: :edible %>
于 2015-06-16T09:25:10.863 回答