Сложное отношение Active Record - PullRequest
0 голосов
/ 28 марта 2020

У меня есть несколько классов:

class View < ApplicationRecord
  belongs_to :user
  belongs_to :article
end

class User < ApplicationRecord
  has_many :articles
  has_and_belongs_to_many :tags
  has_many :views, through: :articles
end

class Article < ApplicationRecord
  belongs_to :user
  has_many :views
end

class Tag < ApplicationRecord
  belongs_to :user
  has_many :views
  has_and_belongs_to_many :users
  has_many :articles, through: :users
end

Если я запускаю:

Tag.joins(:articles).where(tag: tag, articles: { name: name }).first

, он показывает мне первую запись в теге, но если я запускаю:

Tag.joins(:articles).where(tag: tag, articles: { name: name }).count

показывает, сколько записей в ст.

Как получить статью вместо тега?

Спасибо.

ДОБАВЛЕНО

Еще один вопрос - когда я получил все статьи, которые мне нужны, как я могу отсортировать их по просмотрам? Принимая во внимание, что в статье может быть много записей View.

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