Rails 如何缓存部分?

use*_*790 1 caching ruby-on-rails partial

我正在render partial: 'fragment', locals:{obj:item}为表中的每一行使用 a 。处理整个页面需要很长时间。

有没有办法在第一次加载时保存每个项目的所有片段,并且在服务器工作期间每次都不再渲染它们?

更新

card/index.html.haml
%table 
  =render partial: 'card/card', collection: @cards, cached: true

card/_card.html.haml
-cache card do
  %tr=card.title

card_controller.rb
def index
  @cards = Card.order(:name)
end
Run Code Online (Sandbox Code Playgroud)

解决了

添加到 development.rb 后,缓存开始工作:

config.action_controller.perform_caching = true
config.cache_store = :memory_store, { size: 64.megabytes }
Run Code Online (Sandbox Code Playgroud)

小智 5

或者您可以运行rails dev:cache以切换缓存。