Javascript 使用具有rails作用域的JSON对象
我希望发生以下事情: 当我选择一个selectbox时,我希望它通过AJAX向我的控制器发送一个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
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
您也可以查看指南。我没有足够的声誉去做这件事。