Добавление нумерации страниц к следующему тексту: - PullRequest
0 голосов
/ 02 апреля 2012

В настоящее время у меня есть нумерация страниц в таблице пользователей, которая работает нормально, поскольку у меня есть только одна функция поиска для пользователей.

Но сейчас я хочу добавить нумерацию страниц в свою таблицу игр, но не знаю, как ее реализовать.так как у меня 5 функций поиска по играм.Мне было интересно, как бы я добавил добавление нумерации страниц к следующему методу контроллера.

    def index
        @games = Game.gamsearch(params[:gamsearch])
        @games = Game.consearch(params[:consearch]) if params[:consearch].present?
        @games = Game.gensearch(params[:gensearch]) if params[:gensearch].present?
        @games = Game.where("game_name LIKE ?", "#{params[:game_name]}%") if params[:game_name].present?
        @games = Game.where("console = ?", params[:console]) if params[:console].present?

    end

1 Ответ

0 голосов
/ 02 апреля 2012

Я думаю, вам следует использовать области или методы, которые возвращают отношение ActiveRecord в вашем классе Game, и объединять их в цепочку (я думаю, вы хотите объединить условия с помощью оператора AND):

class Games
  scope gamsearch, lambda { |search_param| your_conditions }
  scope consearch, lambda { |search_param| your_conditions }
  scope gensearch, lambda { |search_param| your_conditions }
  scope game_name, lambda { |game_name_param| where("game_name LIKE ?", "#{game_name_param}%") }
  scope console, lambda { |console_param| where("console = ?", console_param) }
end


def index
  scope = Game.gamsearch(params[:gamsearch])
  scope = scope.consearch(params[:consearch]) if params[:consearch].present?
  scope = scope.gensearch(params[:gensearch]) if params[:gensearch].present?
  scope = scope.game_name(params[:game_name]) if params[:game_name].present?
  scope = scope.console(params[:console]) if params[:console].present?
  @games = scope.paginate
end
...