ruby-on-rails – 在同一页面上多次渲染rails
发布时间:2020-12-17 01:49:56 所属栏目:百科 来源:网络整理
导读:我有一部分是我在同一页面上渲染两次,但是在两个不同的位置(一个在标准布局中显示,一个在移动/平板电脑布局期间显示). 部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; partial每次都进行一次API调用,第二次调用完全没必要,
我有一部分是我在同一页面上渲染两次,但是在两个不同的位置(一个在标准布局中显示,一个在移动/平板电脑布局期间显示).
部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; 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') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |