我使用 acts_as_taggabe
gem
我的新闻模型
has_many :taggings
has_many :tags, through: :taggings
有这个范围:
scope :tag, -> (tag_name) { joins(:tags).where('tag.name = ?', tag_name)}
导致当前错误:
PG::UndefinedTable:错误:缺少表“标签”的 FROM 子句条目
生成此 SQL:
SELECT "news".* FROM "news"INNER JOIN "taggings"ON "taggings"."news_id"= "news"."id"INNER JOIN "tags"ON "tags"."id"= "taggings ".tag_id"WHERE (tag.name = 'lorem'):
这是什么原因?如何确定范围? 提前致谢!
最佳答案
表名是'tags'而不是'tag'。
scope :tag, -> (tag_name) { joins(:tags).where('tags.name = ?', tag_name)}
关于mysql - PG 缺少表的 FROM 子句条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42006765/