Задать вопрос
@john_bob

Scopes for belongs_to?

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


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

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

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $
от 4 000 до 6 000 $