我在轨道上使用ruby显示一个数据库表,每当我点击列标题时我都想对列进行排序。
我的想法是调用一个angularjs函数,它将一个像hnei
这样的参数添加到url中,并将它放回我的ruby控制器中以执行有序请求,但它似乎无法正常工作。
以下是我调用函数的users.html.haml文件的一部分:
?sort_by=id
我的angularjs函数(users.controller.js):
%th
%button{'ng-click': 'sort_by("product")'}
users_controller.rb中的索引函数
$scope.sort_by = function(str){
$location.search({sort_by: 'product'});
$window.location.reload();
}
当我点击该按钮时,它会在网址中重新加载def index
@users = User.all
max_per_page = 50
puts params
paginate @users.size, max_per_page do |limit, offset|
render json: @users.limit(limit).offset(offset)
end
end
的网页并调用索引功能,但?sort_by=product
仍会返回puts params
我该如何使这项工作? 提前谢谢。
答案 0 :(得分:0)
我使用带有params的$ http get请求,它最终有效,以防它帮助某人:
$http({
method: 'GET',
url: 'users',
dataType: 'json',
params: {
'sort_by': 'products.name',
},
headers: {
"Content-Type": "application/json"
}
}).success(function(response){
console.log('succes');
}).error(function(error){
console.log('err');
});
然后在users_controller.rb中的index方法中:
puts request.params['sort_by'] if !request.params['sort_by'].nil?