我有两个按钮(#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。非常感谢!
答案 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