проблема с will_paginate с рендерингом json в рельсах 2.3.11 - PullRequest
0 голосов
/ 05 апреля 2011

Я пытаюсь обновить свой рельс с 2.3.2 до 2.3.11. Однако у меня возникли некоторые проблемы с will_paginate 2.3.15 и рендерингом json.

module WillPaginateHelpers
    WillPaginate::Collection.class_eval do
      alias :to_json_without_paginate :to_json

        def to_json(options = {})
          hash = { :current_page => current_page,
            :per_page => per_page,
            :total_entries => total_entries,
            :total_pages => total_pages,
            :items => to_a
          }

          hash.to_json(options)
        end
    end
end

Ранее приведенный выше код мог работать с:

@products = Product.paginate(:page => 1, :per_page => 20)
render :json => @products

Однако, с рельсами 2.3.11, возникает ошибка «объектные ссылки сами», если мне не нужно кодировать таким образом: render :json => @products.to_json. Как это исправить? Что случилось с render :json => @products?

1 Ответ

4 голосов
/ 05 июля 2011

Я добавил это в инициализатор:

class WillPaginate::Collection
  def as_json options={}
    {
      :total_entries => self.total_entries,
      :current_page => self.current_page,
      :total_pages => self.total_pages,
      :per_page => self.per_page,
      :items => super
    }
  end
end
...