Допустим, у вас есть две модели: articles
и comments
.
class Article < ActiveRecord::Base
has_many :comments
end
Вы знаете, что можете получить связанные комментарии к статье, подобной этой:
article = Article.first
article.comments # => SELECT * FROM "comments" WHERE ("comments".article_id = 123)
Есть ли способ явного доступа к article_id
(123) в named_scope?
Мне это нужно для комплекса named_scope, который присоединяется к другой таблице. По сути, named_scope будет иметь смысл вызываться из ассоциированного родительского объекта (article.comments.my_named_scope
и , а не Comments.my_named_scope
).
Я не хочу передавать идентификатор в качестве параметра для named_scope. Итак, вместо передачи article_id
в именованную область с помощью ... lambda { |article| ...}
и доступа к идентификатору с помощью "... #{article.id} ..."
, я хочу каким-то образом получить доступ к этому article_id
, который использует others
метод , Я получаю от has_many
ассоциации.