部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; 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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)