使用大量嵌套的部分是否有显着的性能成本?

Is there a significant performance cost to using lots of nested partials?

我有一个页面使用大量嵌套部分来根据用户类型和一系列类别的产品状态显示内容。使用嵌套的部分和条件状态来管理它是个好主意吗?我想知道所有这些是否会影响性能?

例如 - product.html.erb:

<% if product.status == "available" %>
  <%= render available_product %>
<% else %>
  <%= render manage_supplier %>
<% end %>

可用_product.html.erb:

<% if @user.role == owner %>
  <%= render product_headline_form %>
<% else %>
  <%= render product_headline_show %>
<% end %>
<%= render some_nice_stuff_from_supplier %>

...等等。

我保持我的部分相当雾化,因为我认为当我在地方添加 ajax 时它会给我更多的灵活性。

这取决于

  • ruby版本
  • rails版本
  • 你的偏音

换句话说:你必须测量

一般来说:partials 往往比 ie helpers 慢得多,因为 rails 必须做更多的工作来设置 partial 的渲染上下文,而不是 none .

相关吗?取决于您的要求。