Rails разбивает проблему на страницы

Я разбиваю страницы с помощью плагина 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

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

Итак, как я могу снова разбить массив на страницы?


person maxiperez    schedule 09.02.2011    source источник


Ответы (2)


Почему вы используете метод 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).

person oivoodoo    schedule 09.02.2011

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

@products = Product.paginate :conditions => conditions
person Marcus Sá    schedule 09.02.2011
comment
Спасибо Два ответа являются решениями - person maxiperez; 09.02.2011