Cra*_*lot 6 optimization performance ruby-on-rails view ruby-on-rails-3
人们可以做些什么来优化Rails 2.x(和3.x)中的视图渲染?
我们的应用程序大部分时间都在渲染视图(最小的数据库调用).
我们如何加速视图的性能/呈现?
谢谢!
加速 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)