在Rails(2.x或3.x)中优化视图性能的提示/技巧?

Cra*_*lot 6 optimization performance ruby-on-rails view ruby-on-rails-3

人们可以做些什么来优化Rails 2.x(和3.x)中的视图渲染?

我们的应用程序大部分时间都在渲染视图(最小的数据库调用).

我们如何加速视图的性能/呈现?

谢谢!

Kev*_*vin 3

加速 erb 渲染的推荐方法是避免这样做。尝试使用页面缓存或条件 GET 标头以避免重新呈现未更改的内容。

http://guides.rubyonrails.org/caching_with_rails.html

class ProductsController < ApplicationController

  def show
    @product = Product.find(params[:id])

    # If the request is stale according to the given timestamp and etag value
    # (i.e. it needs to be processed again) then execute this block
    if stale?(:last_modified => @product.updated_at.utc, :etag => @product)
      respond_to do |wants|
        # ... normal response processing
      end
    end

    # If the request is fresh (i.e. it's not modified) then you don't need to do
    # anything. The default render checks for this using the parameters
    # used in the previous call to stale? and will automatically send a
    # :not_modified.  So that's it, you're done.
end
Run Code Online (Sandbox Code Playgroud)