обновить общее количество при добавлении, удалении и обновлении с помощью ajax - PullRequest
0 голосов
/ 08 августа 2011

Я использую рельсы 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, расходы на друга 2,

Пожалуйста, помогите мне решить эту проблему?Также предложите подход для решения этого типа проблемы?Я новенькая би Помощь // SOS

1 Ответ

0 голосов
/ 09 августа 2011

Вы должны переместить эту строку кода из обычного js-файла в destroy.js, в каталоге views в каталоге контроллера Appropritate. На основании вашего описания, скорее всего, это будет app/views/expenditure/destroy.js.erb

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

Также удалите head :ok из format.js, просто оставьте его как format.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...