【问题标题】:How do I query both sides of a HABTM relationship?如何查询 HABTM 关系的双方?
【发布时间】:2013-03-11 08:56:39
【问题描述】:

我有两个模型 - Question & Tag

两者之间都有 HABTM 关联。还有一个questions_tags 连接表。

如果我有问题 (q),只需执行 q.tags 即可找到标签。

但是,如果我有标签 (t),当我尝试走另一条路 (t.questions) 时,我会收到如下错误:

NoMethodError: undefined method `questions' for #<ActiveRecord::Relation:0x007fda147522b8>

HABTM 不应该双向工作吗?在我的情况下,如何获取与标签关联的 questions

【问题讨论】:

  • 你能在你使用t.questions的地方显示你的代码吗?我怀疑 t 不是标签,而是错误提示的 AR::Relation。类似t = Tag.where(id: some_id)(忘记添加.first)会导致错误
  • 啊……你是对的。它返回一个数组......不是单个对象。如果您将其添加为答案,我会接受。
  • 完成。谢谢,祝你好运!

标签: ruby-on-rails ruby-on-rails-3 has-and-belongs-to-many


【解决方案1】:

我怀疑 t 不是 Tag 对象,而是错误提示的 AR::Relation。 t = Tag.where(id: some_id)(忘记添加 .first)之类的东西会导致错误。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多