У меня есть модель поиска, которая строит строку, которая в основном является сырым SQL. Эта строка проходит через вызов find_by_sql, и возвращается к контроллеру по линии-ниже (@ search.query < --query является метод, который возвращает результат find_by_sql):Array не работает с will_paginate, несмотря на требование 'will_paginate/array'?
1 def roster_builder
2 authorize! :access_roster_builder, current_coach
3 @search = Search.new(sport: current_coach.primary_sport, conditions: params[:search])
4
5 @athletes = @search.query.page(params[:page]).per_page(8)
6
7 if params[:refresh]
8 render "athletes_refresh"
9 else
10 render "athletes" if request.format.js?
11 end
12 end
Это возвращает массив, но я получаю эту ошибку:
NoMethodError (undefined method `page' for #<Array:0x00000105b7add0>)
Так что я нашел где вставив следующий должен исправить это:
require 'will_paginate/array'
Я попытался положить, что в моем контроллере, а Файл инициализации will_paginate.rb бесполезен. Я даже сделал .to_a результат find_by_sql - ту же ошибку. Что конкретно здесь проблема? Я использую will_paginate версии 3.0.4, поэтому он полностью обновлен. На GitHub, он даже говорит, что потребует должны сделать эту работу штрафа: https://github.com/mislav/will_paginate/wiki/Backwards-incompatibility