AJAX功能500(内部服务器错误)正常工作

时间:2016-06-13 16:46:28

标签: jquery ruby-on-rails ajax ruby-on-rails-4

我有两个按钮(#shownum1,#shownum2),单击时运行一个函数(增量)。我可以看到值在数据库中正确递增,这意味着它可以工作,但在控制台中我看到了:

  

获取http://localhost:3000/increment?id=1 500(内部服务器错误)

function increment(){
    $.ajax({
        url: '/increment',
        data: {'id': <%= @voiture.id %>}
    }); 
}


$('#shownum').on('click',function (){
    increment();
});
$('#shownum2').on('click',function (){
    increment();
});

增量根:

get '/increment' => 'voitures#increment' 

最后是函数增量:

def increment
  Voiture.increment_counter(:compteur, 1)
end 

我很确定这是关于增量函数的...我通常不使用AJAX。非常感谢!

1 个答案:

答案 0 :(得分:2)

您应该使用POST方法代替GET方法,然后修改代码,如下所示:

function increment(){
    $.ajax({
        url: '/increment',
        data: {'id': <%= @voiture.id %>},
        method: 'POST' // Add this line!
    });  
}

# routes.rb
post '/increment' => 'voitures#increment'  # change from get to post!

#voitures_controller.rb
def increment
  Voiture.find(params[:id]).increment(:compteur, 1) # fixed line
end