我正在构建一个界面,人们可以在其中为各种网站的内容提交标记,以便每个Submission
都有参数domain
和has_one :tag
。
诀窍是我想在保存之前检查先前是否已为该域提交过该标记。
类似的东西:
Submission.where(domain: submission_params[:domain], tag.tag_text: submission_params[:tag][:tag_text]).exists?
答案 0 :(得分:2)
为了能够查询关联的表,您应该加入它。在你的情况下joins
就是你要找的东西( INNER JOIN ):
Submission.joins(:tag)
.where(
submissions: { domain: submission_params[:domain] },
tags: { tag_text: submission_params[:tag_attributes][:tag_text] }
).exists?