【发布时间】:2013-02-11 16:48:33
【问题描述】:
我在使用 .joins 处理多个关联时遇到问题。这是我的模型设置:
class Article
has_many :comments
has_many :tags
end
class Comment
belongs_to :article
end
class Tag
belongs_to :article
end
我正在尝试查找所有带有特定评论正文的评论或带有特定标签文本的标签的文章。这是我的查询:
Article.joins(:tags, :comments).where("(\"tags\".\"tag\" = 'awesome') OR (\"comments\".\"body\" = 'hello')
它总是返回一个空结果。最奇怪的是这会起作用:
Article.joins(:tags).where(:tags => {:tag => "awesome:})
但是当我添加其他连接符号时,没有返回任何内容:
Article.joins([:tags, :comments]).where(:tags => {:tag => "awesome"})
这有意义吗?我在做傻事吗?
【问题讨论】:
-
是不是有些带标签的文章可能没有cmet(或者相反有些评论的文章可能没有标签)?
标签: ruby-on-rails associations rails-activerecord