我有以下范围:
scope :tagged_with, -> (tags) { where(saved_tags: { name: tags }).joins(:saved_tags) }
我遇到了以下错误:
ActiveRecord::StatementInvalid (PG::AmbiguousColumn: ERROR: column reference "name" is ambiguous
如何指定'名称'是否在此范围内引用了SavedTag模型?
答案 0 :(得分:1)
您可以将表名添加到查询中,如下所示:
scope :tagged_with, -> (tags) { joins(:saved_tags).references(:saved_tags).where( "saved_tags.name" => tags ) }
注意:只要您直接引用以这种方式加入的表格,就应该使用references
。