2013-03-27 147 views
1

我有一個Rails應用程序,我使用一些全局變量在頁面上顯示一些基於日期的結果。日期範圍變量是全局的。現在的問題是應用程序被多個人同時訪問時,全局變量是共享的,並且對於應用程序的每個實例都不是唯一的。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 

注設置:從字面上每一個例子,你會發現網絡將使用上面的樣式上,而不會使用Ruby的全局變量。