2011-08-17 42 views
34

Tôi đang thử nghiệm giao diện người dùng của ứng dụng web và muốn kiểm tra cách một số chuyển đổi xuất hiện với sự chậm trễ khác nhau giữa các yêu cầu AJAX. Có cách nào tôi có thể thêm sleep(1500) vào bộ điều khiển của mình để trì hoãn phản hồi không?Làm thế nào để thêm một sự chậm trễ để kiểm soát Rails để thử nghiệm?

+1

Chỉ cần thêm chế độ ngủ (1000) gọi hành động điều khiển của bạn. –

+5

Đơn vị mặc định cho chế độ ngủ trong RoR là _seconds_ !! Thêm vào giấc ngủ 1.5 để điều khiển và cuộc sống là tốt. Cảm ơn :) – RSG

Trả lời

66

điều khiển như vậy:

def catalog 
    #Makes the request pause 1.5 seconds 
    sleep 1.5 

    ... 
end 

Thậm chí tốt hơn: chỉ thêm giấc ngủ cho môi trường dev.

9

Xây dựng câu trả lời được chấp nhận. Nếu bạn có một số điều khiển cơ sở như mặc định ApplicationController mà được mở rộng bởi bất kỳ điều khiển khác mà bạn có thể xác định bộ lọc sau:

class ApplicationController < ActionController::Base 

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

đâu: là số giây chờ trước khi trả lại bất kỳ phản ứng, xem sleep docs

Bộ lọc này sẽ được kích hoạt chỉ khi ứng dụng của bạn là trong phát triển môi trường và nó sẽ thêm mong muốn chậm trễ mọi yêu cầu được xử lý bởi ứng dụng của bạn.

Các vấn đề liên quan