Javascript 使用具有rails作用域的JSON对象

Javascript 使用具有rails作用域的JSON对象,javascript,ruby-on-rails,ajax,json,params,Javascript,Ruby On Rails,Ajax,Json,Params,我希望发生以下事情: 当我选择一个selectbox时,我希望它通过AJAX向我的控制器发送一个JSON对象,如下所示: var encoded = $.param(data); jQuery.ajax ({ url: '/trips', type: 'GET', data: {'toSearch' : encoded}, success: fu

我希望发生以下事情:

当我选择一个selectbox时,我希望它通过AJAX向我的控制器发送一个JSON对象,如下所示:

        var encoded = $.param(data);            
        jQuery.ajax ({
            url: '/trips',
            type: 'GET',
            data: {'toSearch' : encoded},
            success: function (response) {
                //succes
                console.log(encoded);
            }
        });
并将其用作我的查询的参数,如下所示

respond_to :json, :html

  def index
    @trips = Trip.scoped
    @trips.where("category_id = ?", params[:category_ids]) if params[:category_ids] # category_ids = array; select * from trips where category_id IN [1,3,4]


    respond_with @trips
  end

我该怎么做?序列化JSON对象的最佳方式是什么?

您可以执行以下操作:

def index
  @trips = Trip.scoped
  @trips.where("category_id = ?", params[:category_ids]) if params[:category_ids] # category_ids = array; select * from trips where category_id IN [1,3,4]

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @trips }
    format.json { render :json => @trips }
  end
end
然后,您应该在javascript回调中执行任何您想执行的操作

编辑

如果只需要json格式,可以执行以下操作:

render :json => @trips

您也可以查看指南。

我没有足够的声誉去做这件事。