Rails будет разбивать проблему - PullRequest
1 голос
/ 09 февраля 2011

Я выполняю разбиение на страницы с помощью плагина will_paginate.

У меня есть всплывающее окно, которое добавляет @products, когда пользователь нажимает кнопку Add через запрос Ajax.

Примечание: @products разбит на страницы

В Ajax-запросе я обновляю список продуктов:

 ids = params[:accessories][:id].join(" and id <> ")
 @products = Product.find_by_sql("select * from products where id <> #{ids}")

Однако, если я использую: @products = Product.find_by_sql("select * from products where id <> #{ids}").paginate

, он возвращает идентичный массив.

Итак, как мне снова разбить массив на части?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Почему вы используете метод find_by_sql?

Может быть, вы можете написать что-то вроде этого:

ids = params[:accessories][:id].join(",")
@products = Product.paginate(:page => params[:page], :conditions => ["not (id in (?))", ids])

также позволяет перейти к модели продукта и заменить его областью действия (Rails 3) или named_scope (Rails 2).

2 голосов
/ 09 февраля 2011

Уже пробовал:

@products = Product.paginate :conditions => conditions
...