【问题标题】:nicer paths to partial views of subclasses when rendering a collection渲染集合时子类的部分视图的更好路径
【发布时间】:2013-08-26 22:06:01
【问题描述】:

假设我有:

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

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

<%= render @edibles %>

这可行,但 Rails 想让我将这些视图放在 apples/appleoranges/orange 中。

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

【问题讨论】:

    标签: ruby-on-rails view collections path partial


    【解决方案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 %>
    

    【讨论】:

    • 我希望有一些晦涩难懂的方法可以做到这一点,而无需求助于each。可能不会。谢谢! :)
    【解决方案2】:

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

    <%= render partial: "edibles/edible", collection: @edibles, as: :edible %>
    

    【讨论】:

      猜你喜欢
      • 2013-03-24
      • 1970-01-01
      • 2013-01-10
      • 1970-01-01
      • 2017-09-03
      • 2015-06-15
      • 2011-08-30
      • 1970-01-01
      • 2016-02-09
      相关资源
      最近更新 更多