1

我有一个 Rails 应用程序,我在其中使用一些全局变量根据日期在页面上显示一些结果。日期范围变量是全局变量。现在的问题是,当不止一个人同时访问应用程序时,全局变量是共享的,并且对于应用程序的每个实例不是唯一的。

有人可以指出我为应用程序的每个实例处理变量的好方向吗?

4

1 回答 1

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​​ 全局变量。

于 2013-03-27T21:36:48.243 回答