ruby-on-rails – 在同一页面上多次渲染rails

ruby-on-rails – 在同一页面上多次渲染rails,第1张

概述我有一部分是我在同一页面渲染两次,但是在两个不同的位置(一个在标准布局中显示,一个在移动/平板电脑布局期间显示). 部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; partial每次都进行一次API调用,第二次调用完全没必要,因为它是第一次API调用的副本. 有没有办法将返回的部分中的HTML存储为变量,然后将其用于两个渲染? 编辑:我希望在没有缓存的情况下这样 我有一部分是我在同一页面上渲染两次,但是在两个不同的位置(一个在标准布局中显示,一个在移动/平板电脑布局期间显示).

部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; partial每次都进行一次API调用,第二次调用完全没必要,因为它是第一次API调用的副本.

有没有办法将返回的部分中的HTML存储为变量,然后将其用于两个渲染?

编辑:我希望在没有缓存的情况下这样做,因为这是一个非常简单的需求,我希望保持代码库的精简和可读性.是否可以将partial存储为字符串变量然后引用两次?

解决方法 一种选择是使用片段缓存.使用缓存块包装部分后,第二个调用应显示第一个调用的缓存版本.例如:

<% cache do %>  <%= render(:partial => 'my_partial') %><% end %>... later in the same vIEw ...<% cache do %>  <%= render(:partial => 'my_partial') %><% end %>

要将渲染的结果存储到字符串,您可以尝试AbstractController的render_to_string方法.参数与渲染相同.

partial_string = render_to_string(:partial => 'my_partial')
总结

以上是内存溢出为你收集整理的ruby-on-rails – 在同一页面上多次渲染rails全部内容,希望文章能够帮你解决ruby-on-rails – 在同一页面上多次渲染rails所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1255162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存