我有一个Rails应用程序,我使用一些全局变量来显示基于日期的页面上的一些结果。日期范围变量是全局变量。现在的问题是,当多个人同时访问应用程序时,全局变量是共享的,并且对于应用程序的每个实例都不是唯一的。
有人能指出我为每个应用程序实例处理变量的好方向。
答案 0 :(得分: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全局变量。