2011-08-17 17 views
34

Estoy probando el front-end de una aplicación web y quiero probar cómo algunas de las transiciones aparecen con varias demoras entre las solicitudes AJAX. ¿Hay alguna manera de que pueda agregar un sleep(1500) a mi controlador para retrasar la respuesta?¿Cómo agregar un retraso al controlador Rails para probar?

+1

Simplemente agregue la llamada sleep (1000) a la acción de su controlador. –

+5

La unidad predeterminada para dormir en RoR es _seconds_ !! Se agregó sleep 1.5 al controlador y la vida es buena. Gracias :) – RSG

Respuesta

66

Controlador de este modo:

def catalog 
    #Makes the request pause 1.5 seconds 
    sleep 1.5 

    ... 
end 

Aún mejor: sólo añadir el sueño para el entorno de desarrollo.

9

Elaborando en la respuesta aceptada. Si usted tiene algún controlador de base como el valor por defecto ApplicationController que se extiende por cualquier otro controlador puede definir el siguiente filtro:

class ApplicationController < ActionController::Base 

    # adds 1s delay only if in development env 
    before_filter if: "Rails.env.development?" do 
    sleep 1 
    end 
end 

Dónde: es el número de segundos de espera antes de devolver cualquier respuesta, consulte sleep docs

Este filtro se activará sólo si su aplicación está en desarrollo medio ambiente y que se sumará deseada retraso a cada solicitud procesado por su aplicación.

Cuestiones relacionadas