Activerecord, как получить все уникальные атрибуты принадлежности_то в наборе?

У меня есть приложение rails с моделью сообщений и моделью категорий.

Категория принадлежит сообщению

Я использую разбиение на страницы для отображения 20 сообщений на странице, и на каждой странице у меня есть фильтр для фильтрации по категориям.

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

Итак, когда в моем действии я ранее делал:

home do
  @posts = Posts.paginate(page: params[:page], per_page: 20)
  @categories = Category.all
  respond_to do |format|
    format.html
  end
end

Как я могу заполнить @categories таким образом, чтобы он содержал список всех уникальных категорий из @posts, а не из всей базы данных категорий.


person Adam Bronfin    schedule 28.10.2014    source источник
comment
вы хотите уникальный posts или categories ? или вы имеете в виду что-то вроде Category.joins(:posts).paginate(page: params[:page], per_page: 20).uniq   -  person Rahul Dess    schedule 28.10.2014
comment
Спасибо, пожалуйста, напишите ответ, и я отмечу его как принятый   -  person Adam Bronfin    schedule 28.10.2014


Ответы (1)


Пожалуйста, попробуйте как Category.joins(:posts).paginate(page: params[:page], per_page: 20).uniq.

person Rahul Dess    schedule 28.10.2014