2013-03-27 2 views
1

나는 전역 변수를 사용하여 날짜를 기반으로 한 페이지에 몇 가지 결과를 표시하는 레일 애플리케이션을 사용합니다. 기간 변수는 전역 변수입니다. 이제 문제는 응용 프로그램이 둘 이상의 사람에 의해 동시에 액세스되고 전역 변수가 공유되며 응용 프로그램의 각 인스턴스마다 고유하지 않은 경우입니다.Ruby on Rails - 전역 변수 피하기

다른 사람이 응용 프로그램의 각 인스턴스에 대한 변수를 처리하는 좋은 방향을 제시 할 수 있습니까?

답변

3

전역 변수 (문자 그대로 사용하면 안되는) 대신 인스턴스 변수를 사용해야합니다. 여기에서 그들은 날짜 범위에

class OrdersController < ActionController::Base 
    def index 
    @start_date = params[:start_date] || 30.days.ago 
    @end_date = params[:end_date] || 30.days.ago 
    @orders = Order.where("start_date >= ?", @start_date).where("end_date <= ?", @end_date) 
    end 
end 

메모를 주문을 찾기 위해 설정됩니다 위의 스타일을 사용하는 웹에서 확인할 수있는 루비 전역 변수를 사용하지 않습니다 말 그대로 모든 예.