Tengo la siguiente consulta en mi solicitudcómo almacenar en caché una consulta en Ruby on Rails 3
@categories = Category.joins(:posts).select('distinct categories.*').order('label')
Esta consulta se carga en cada visita a una página ya que las categorías se muestran en cada página. Esto me parece desordenado ya que la lista de categorías no se actualiza con tanta frecuencia. ¿Hay alguna forma ingeniosa de almacenar en caché solo la consulta? He intentado
Category.cache do
@categories = Category.joins(:posts).select('distinct categories.*').order('label')
end
pero todavía veo que la consulta se carga cada vez desde la base de datos en el registro de desarrollo.
almacenamiento en caché está desactivado por defecto en el modo de desarrollo. Busque en 'config/environments/development.rb' para activarlo. –
@Douglas F Shearer Esa configuración controla si las clases de Ruby se almacenan en caché o se vuelven a cargar con cada solicitud, no si la caché de consultas de Active Record está habilitada. –