假设您有两个模型: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
在named_scope中显式访问(123)?
我需要这个用于连接另一个表的复杂 named_scope。基本上,named_scope 将取决于从关联的父对象调用是否有意义(article.comments.my_named_scope
而不是 Comments.my_named_scope
)。
我不想将 id 作为named_scope 的参数传递。因此,我不想将 传递article_id
给命名范围... lambda { |article| ...}
并使用 访问 id "... #{article.id} ..."
,而是想以某种方式访问该article_id
方法others
使用的 this ,这是我从has_many
关联中获得的。