Прошу прощения, если это тривиальный вопрос или мое понимание рельсов слабо.will_paginate без использования activerecord
У меня есть 2 действия в контроллере, index и уточнение_данных.
индекс извлекает и отображает все данные из таблицы базы данных.
уточнить_данные сорняки нежелательных данных с помощью регулярного выражения и возвращает подмножество данных.
контроллер выглядит следующим образом:
def index
Result.paginate :per_page => 5, :page => params[:page], :order => 'created_at DESC'
end
def refine_data
results = Result.all
new_results = get_subset(results)
redirect_to :action => 'index'
end
Я хотел бы перенаправить действие refine_data на ту же точку зрения (индекс) с new_results.
Как new_results не из таблицы базы данных (или модели), как мне заняться построением моей страницы?
Veger, спасибо за предложения. Я поместил find_refined_data (search_string, page) в мою модель. я добавил следующую строку в мой контроллер действия refine_data Result.paginate_refined_data Params [: исключить], Params [: страницы] Однако я вижу сообщение об ошибке «параметра хэш ожидаемого» Я предполагаю, что paginate_refined_data нужны дополнительные параметры. Я не уверен, что. Мне также нужно передать в строку поиска мою модель с контроллера, кроме параметров will_paginate. Большое спасибо за помощь – truthSeekr
Метод 'find' (и, следовательно, ваш) также требует одного аргумента (см. Http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002263). Это хэш-список, из которого вы можете вычесть опции с помощью 'extract_options! 'Или что-то подобное, чтобы вы могли использовать их для своего собственного кода. – Veger