ruby-on-rails - 带参数的部分渲染性能在 rails
问题描述
我有一个集合,想要迭代并渲染一个部分:
<% @programs.each do |program| %>
<%= render "program", link: program_path(program) %>
<% end %>
对于每个渲染,我将传递一个名为link
. 并且根据不同的情况而变化。
program_path(program)
admin_program_path(program)
program.external_link
但是,它会花费大量时间来渲染每个部分,因此这是一个 N+1 问题。我也尝试渲染collections
,但我不知道如何传递参数。
有谁知道更好的方法吗?还是我应该放弃部分代码并将这些代码放在呈现部分的每个页面上?
干杯
解决方案
你可以使用:
<%= render @programs %>
并创建:
views/programs/_programs.html.erb
然后,您在部分中选择带有条件的链接。
推荐阅读
- c++ - 使用“.tcl”输入文件调试 C++ (Visual Studio) 源代码
- javascript - 如何使用变量调用对象属性?
- string - Flutter:Dart - 如何显示存储的变量?
- python - 使用海龟图形的强化学习算法不起作用
- android - 如何隐藏吐司“您的音频将被发送到谷歌以提供语音识别服务。” 在语音识别器中?
- c# - 递归列表到格式良好的表
- laravel - Laravel 5.5 递归函数创建菜单
- ios - 如何为 GDPR / RGPD 匿名化 iOS 版 Google Analytics(分析)
- mysql - MySQL / PostgreSQL - 这可以在事务中执行并行写入吗?
- java - 如何在 ehcache 3.5 版本中将缓存过期配置为 none 和 overflowToDisk="false"?