在项目中,我通过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调用?感谢。
答案 0 :(得分:0)
HTTP请求是无状态的。您需要将它们存储在客户端(作为Javascript模型/集合),或者在服务器端存储它们以便能够将它们一起收集。