首页 > 解决方案 > 带参数的部分渲染性能在 rails

问题描述

我有一个集合,想要迭代并渲染一个部分:

<% @programs.each do |program| %>
  <%= render "program", link: program_path(program) %>
<% end %>

对于每个渲染,我将传递一个名为link. 并且根据不同的情况而变化。

但是,它会花费大量时间来渲染每个部分,因此这是一个 N+1 问题。我也尝试渲染collections,但我不知道如何传递参数。

有谁知道更好的方法吗?还是我应该放弃部分代码并将这些代码放在呈现部分的每个页面上?

干杯

标签: ruby-on-rails

解决方案


你可以使用:

<%= render @programs %>

并创建:

views/programs/_programs.html.erb

然后,您在部分中选择带有条件的链接。


推荐阅读