0

在我当前的控制器中,我有一个用 1 点更新模型链接的方法:

def modify_points
  @link = Link.find(params[:id])
  @link.points += 1


  respond_to do |format|
    if @link.update_attributes(params[:points])
      format.html { redirect_to root_path }
      format.js
    else
   format.js
    end
  end
end

在我的路线中:

put 'links/:id/vote' => 'links#modify_points', :as => 'modify_points'

而我的观点:

<%= link_to 'Vote', modify_points_path(link), :remote => true, :method => :put, :id => "modify_points" %>

但是每当我点击链接时,我只能在刷新页面后才能看到更新的信息。

编辑:我在链接视图文件夹目录中创建了一个 index.js.erb 文件,其中包含以下内容:

$('#modify_points').update("<%= escape_javascript(render(@link)) %>");

按下链接时,我在控制台中收到此错误:

PUT http://localhost:3000/links/1/vote 500 (Internal Server Error) jquery.js?body=1:8707
send jquery.js?body=1:8707
jQuery.extend.ajax jquery.js?body=1:8137
$.rails.rails.ajax jquery_ujs.js?body=1:74
$.rails.rails.handleRemote jquery_ujs.js?body=1:150
(anonymous function) jquery_ujs.js?body=1:300
jQuery.event.dispatch jquery.js?body=1:5096
elemData.handle
4

0 回答 0