更新条目的总计数使用ajax添加,删除和更新

时间:2011-08-08 18:32:08

标签: ajax ruby-on-rails-3

我正在使用rails 3并创建一个支出维护应用程序。 在这个每个条目都有支出金额字段,我通过ajax成功添加/删除/更新它。 但是,每当完成任何添加,删除编辑操作时,我都会尝试刷新总金额值。

看看我的代码:

删除控制器功能:

def destroy
    @expenditure = Expenditure.find(params[:id])
    @expenditure.destroy

    **@total = Expenditure.where(:user_id => current_user.id).sum('amount')**
    //@total calculated and to be updated in view

    respond_to do |format|
      format.html { redirect_to(@expenditure) }
      format.js  { head :ok }
    end
  end

删除支出后,我这样做:

$('.delete_post').live('ajax:success', function() {  
    $(this).parent().parent().fadeOut();
    **$("#totalBox").html("<%= escape_javascript(render(:partial => 'total' , :locals => { :total => expenditures.calculateTotal })).html_safe %>");**
});

索引视图:

<div class="blocks" id='**totalBox**'>
    <%= render :partial => 'total' , :locals => { :total => @total }%>
</div>

总分:

Summary
<hr/>
<div class="actionItems">
    Total Expenditure <> <span id='totalexp'><%= total %></span>
</div>

在不久的将来,我必须将更多的值传递给这个部分 上个月的开支, 朋友1费用, friend2费用,

请帮帮我解决这个问题? 还建议一种解决此类问题的方法? 我是新朋友 帮助// SOS

1 个答案:

答案 0 :(得分:0)

您应该将这行代码从common js文件移到destroy.js,在appropritate控制器目录下的views目录中。根据您的描述,最有可能是app/views/expenditure/destroy.js.erb

$("#totalBox").html("<%= escape_javascript(render(:partial => 'total' , :locals => { :total => @total })).html_safe %>");

同时从head :ok移除format.js,只需将其保留为format.js