Javascript 使用ajax增加整数模型变量

Javascript 使用ajax增加整数模型变量,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,刚开始使用rails时,我遇到了一个障碍,我似乎无法为我的具体案例找到准确的答案 我希望通过ajax在我的“字体”模型中增加变量“投票”。我目前有一个Javascript,它通过在div上单击操作触发这个 我发现的最接近我的问题的例子是一个最受欢迎的按钮,即twitter。然而,大多数“收藏夹按钮”功能使用单独的收藏夹数据模型;我只希望增加变量,因此我认为为这个设计一个全新的数据模型没有什么意义 index.html.erb上的Javascript $("#heading_vote").clic

刚开始使用rails时,我遇到了一个障碍,我似乎无法为我的具体案例找到准确的答案

我希望通过ajax在我的“字体”模型中增加变量“投票”。我目前有一个Javascript,它通过在div上单击操作触发这个

我发现的最接近我的问题的例子是一个最受欢迎的按钮,即twitter。然而,大多数“收藏夹按钮”功能使用单独的收藏夹数据模型;我只希望增加变量,因此我认为为这个设计一个全新的数据模型没有什么意义

index.html.erb上的Javascript

$("#heading_vote").click(function(){
  var fontid='<%= h @font_1.id %>'
  $(".text").html(fontid);
  $.ajax({type: "GET", url: 'fonts/'+fontid+'/vote', success: function(){
      $(".text").html('voted');
    }
  });
});
font.rb模型(初始化时将“投票”变量设置为默认值0)

我的routes.rb文件(我想这就是问题所在-我是否正确链接到字体控制器中的投票操作?)

如有任何关于调试的帮助或建议,将不胜感激。谢谢他们,我会这么做的:

我想删除js代码,然后:

路由文件中:

post '/fonts/:id/vote' => 'fonts#vote', as: :vote
视图中模板:

<%= link_to 'Vote', vote_path(@font), remote: true %>

您可能希望在js.erb文件中写入更多js内容,以使其看起来更友好,但作为演示,警报就可以了。

这一点运气好吗?很抱歉回复太晚;非常感谢你迄今为止的帮助。我实现了您所展示的内容,删除Javascript并替换为指向的
链接,但是它仍然不会增加投票变量;事实上,vote.js.erb中的警告甚至没有显示。。有什么想法吗?指向
链接如下所示,在html中
该链接看起来不错,运行此操作时发布服务器的日志。。也可以在controler中尝试
@font.increment!(:投票)
而不是
更新属性
明白了!原来我的版面中有
,它正在搜索一个不存在的文件,我需要
在我的字体控制器中防止伪造,除了::index
,以防止真实性问题。非常感谢您的帮助,很抱歉回复太晚!
def vote
  @font = Font.find(params[:id])

  @font.update_attribute("votes",votes+1)    

  respond_to do |format|
    format.html
    format.js
  end
end
app::Application.routes.draw do

  root to: "home#index" 

  resources :fonts

  post '/fonts/:id/vote' => 'fonts#vote'
post '/fonts/:id/vote' => 'fonts#vote', as: :vote
<%= link_to 'Vote', vote_path(@font), remote: true %>
alert('Vote saved!');