Вот мои модельные отношения:
User
has_many :book_offers
has_and_belongs_to_many :books
BookOffer
has_and_belongs_to_many :books
belongs_to :user
Book
has_and_belongs_to_many :book_offers
has_and_belongs_to_many :users
Вот области, которые я использую:
User
scope :current_users, lambda {
joins(:book_offers) & BookOffer.current_offers.
order("user.company_name ASC")
}
BookOffer
scope :current_offers, lambda {
joins(:books) & Book.current_books
}
Book
scope :current_books, lambda { where("ending_date > ? && beginning_date < ?", Time.now, Time.now).order("beginning_date DESC") }
Я пытаюсь получить массив пользователей, которыеесть предложения в текущих книгах.Мне также нужно сделать так, чтобы пользователи с одним и тем же названием компании появлялись в списке только один раз, даже если они являются отдельными записями пользователей.
Я не уверен, что мне нужно использовать, имеет много сквозных в этомдело.Но я боролся с этим некоторое время и нуждаюсь в некотором руководстве.
Спасибо