rails searchlogic и метод will_paginate undefined `order' для #‹WillPaginate::Collection:0x37530ac›

У кого-нибудь есть такая же проблема или рабочее решение? Я всегда получаю это сообщение об ошибке, вот код модели, контроллера и представления

class Profile < ActiveRecord::Base
  cattr_reader :per_page
    @@per_page = 10
end

def index
   @search = Profile.search(params[:search])
    @profiles = @search.paginate(:page => params[:page])
  end

<%= will_paginate order @profiles , :by => :created_at, :as => "name" %>

помогите пожалуйста заранее спасибо


person tabaluga    schedule 07.07.2010    source источник


Ответы (1)


Вы получаете эту ошибку, потому что первый параметр, который должен быть передан вспомогательному методу представления will_paginate, — это коллекция, которую вы хотите разбить на страницы:

<%= will_paginate @profiles %>

тогда как вспомогательный метод searchlogic order возвращает ссылку, а не коллекцию. Вы, вероятно, хотите сделать это:

<%= order @profiles, :by => :created_at, :as => 'name' %>
<%= will_paginate @profiles %>

Я не уверен, что это будет работать так, как задумано, я не пробовал.

person John Topley    schedule 07.07.2010
comment
о, спасибо за быстрый ответ. Я хочу использовать метод заказа из searchlogic в представлении. Как я могу сделать это в сочетании с will_paginate? - person tabaluga; 07.07.2010
comment
Эй, я понял! Спасибо, что указали мне правильное направление! ‹%= will_paginate @profiles %› ‹%= order @search, :by =› :created_at %› Upps, не нажал кнопку обновления. Спасибо Спасибо спасибо - person tabaluga; 07.07.2010
comment
можно ли это перенести в контроллер? - person bennett_an; 23.11.2011