Rails — Обработка пользовательских атрибутов в ответе AJAX

#javascript #jquery #ruby-on-rails #ajax

#javascript #jquery ( jquery ) #ruby-на-рельсах #аякс

Вопрос:

У меня есть корзина с несколькими товарами, которые я показываю при оформлении заказа, предоставляя пользователям возможность удалять товары, если это необходимо. На странице также есть подсчет общего количества товаров в корзине, которые я пытаюсь обновить после удаления товара. Я получаю 500 ответов сервера с этим кодом.

Как мне правильно вернуть оставшиеся элементы и обновить их обратно на HTML-странице?

   ##app/controllers/items_controller.rb

  def destroy
    @item = current_user.cart.find(params[:id])
    @item.destroy
    if @item.destroyed?
      render :status => 200, :json => {:success => true,:remaining => "#{pluralize(current_user.cart.count, 'item')}" }
    end    
  end
 

и мой файл javascript —

 ##app/assets/javascripts/cart.js.coffee

jQuery ($) ->
  $(".delete-link").bind "ajax:success", ->
    $("#cart-count").html(data.remaining)
    $(this).closest("tr").fadeOut()
    return
 

Комментарии:

1. Есть ли у вас какие-либо журналы об ошибке? Если вы перейдете к /log/production.log , он вернется с любыми ошибками, которые вызвали исключение 500

2. Спасибо! Мне пришлось указать метод pluralize с полным именем класса. Это исправлено. визуализация:status => 200, :json => {: success => true,:remaining => «#{ActionController::Base.helpers.pluralize(current_user.cart.count, ‘item’)}» }