конфликты переменных в действии индекса рельсов - PullRequest
0 голосов
/ 19 февраля 2012

Я новичок в рельсах, так что я надеюсь, что кто-то может мне помочь.

Вот мой код

def index
  @todos = Todo.order(sort_column + " " + sort_direction)  #sorts table columns
  @todos = Todo.page(params[:page]).per(1)                 #pagination
  @todos = Todo.search(params)                             #search filter

  respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @todos }
  end
end

сортировка, разбиение на страницы и поиск все отлично работают самостоятельно, ноочевидно, это вызывает конфликт при объявлении всех трех переменных одновременно.

Я не уверен, как обойти проблему присвоения этим переменным разных имен, чтобы они все еще работали в контекстеприложение.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 19 февраля 2012

Вы можете связывать звонки в цепочку:

 @todos = Todo.order(sort_column + " " + sort_direction).search(params).page(params[:page]).per(1)

Я немного изменил порядок, потому что, если вы используете Kaminari, нумерация страниц всегда должна быть последним методом для вызова. Это будет работать, только если ваш метод поиска возвращает отношение ActiveRecord.

EDIT

Читая комментарии, я полагаю, вы используете шину. Кажется, он поддерживает Каминари, но вам нужно приложить некоторые усилия. Пожалуйста, посмотрите на это обсуждение . к сожалению, я не очень знаком с Тиром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...