2011-04-05 2 views
1

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

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?

ответ

4

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

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 
Смежные вопросы