@john_bob

Scopes for belongs_to?

в документации Rails Guides есть такой пример
class Book < ApplicationRecord
  belongs_to :author, -> { where active: true }
end


Разъясните пожалуйста, что дает эта часть ?
:author, -> { where active: true }
  • Вопрос задан
  • 30 просмотров
Решения вопроса 1
2ord
@2ord
продвинутый чайник
Конструкция
-> { where active: true }означает, что при ассоциации принадлежности к модели :author будет выполняться замыкание (lambda, или просто анонимный метод), внутри которого фильтруются записи авторов книги, у которых свойство active является true.
Иными словами: Author.where({ active: true })
Таким образом, при поиске книги остальную часть, касающуюся ассоциации с книгой, RoR добавит сам, выполня SQL INNER JOIN между двумя таблицами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы