几个ajax调用之后如何获取一个对象数组

时间:2017-03-20 09:09:50

标签: ruby-on-rails arrays json ajax

在项目中,我通过ajax实现了复选框过滤器。在我的控制器中,我有一个动作:

def casinos_filters
    providers_from_categories = Provider.joins(:categories).where('categories.id = ?', params[:category_id])
    providers = Casino.joins(:providers).where('providers.id = ?', params[:provider_id])
    providers_from_categories.each do |provider|
      @filtered_casinos = provider.casinos
    end
    casinos_list = []
    casinos_list << @filtered_casinos if params[:category_id]
    casinos_list << providers if params[:provider_id]


    render json: { casinos: casinos_list.uniq }, status: 200
  end

因此,我希望数组casinos_list包括赌场&#39;对象。点击category复选框,我得到了json。但是当我点击下一个category复选框时,json没有以前的结果。我认为这是由于在动作中初始化一个空数组。有没有办法只初始化一次数组,而不是每次ajax调用?感谢。

1 个答案:

答案 0 :(得分:0)

HTTP请求是无状态的。您需要将它们存储在客户端(作为Javascript模型/集合),或者在服务器端存储它们以便能够将它们一起收集。