假设我有:
class Edible
end
class Apple < Edible
end
class Orange < Edible
end
我正在渲染这些食物的集合,无论它们的实际类型如何:
<%= render @edibles %>
这行得通,但 Rails 希望我将这些视图放在apples/apple和oranges/orange.
有没有办法告诉 Rails 在同一个文件夹中查找视图,即edibles/apple和edibles/orange?
假设我有:
class Edible
end
class Apple < Edible
end
class Orange < Edible
end
我正在渲染这些食物的集合,无论它们的实际类型如何:
<%= render @edibles %>
这行得通,但 Rails 希望我将这些视图放在apples/apple和oranges/orange.
有没有办法告诉 Rails 在同一个文件夹中查找视图,即edibles/apple和edibles/orange?
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 %>
您可以在不使用each的情况下呈现集合:
<%= render partial: "edibles/edible", collection: @edibles, as: :edible %>