2013-03-11 45 views
0

我有兩個模型 - Question & Tag如何查詢HABTM關係的雙方?

兩者之間都有HABTM關聯。還有一個questions_tags連接表。

如果我有一個問題(q),我可以通過簡單地做q.tags找到標籤。

但是,如果我有一個標籤(t),當我嘗試走另一條路(t.questions),我得到這樣一個錯誤:

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

不應該HABTM以兩種方式工作?在我的情況下,如何獲得與標籤相關的questions

+1

你可以在你使用't.questions'的地方顯示你的代碼。我懷疑t不是一個Tag,而是一個AR :: Relation,因爲錯誤提示。像't = Tag.where(id:some_id)'(忘了添加'.first'),這會導致錯誤 – jvnill 2013-03-11 09:00:37

+0

啊......你是對的。它正在返回一個數組......而不是單個對象。如果你添加這個答案,我會接受它。 – marcamillion 2013-03-11 09:01:59

+0

完成。謝謝,祝你好運! – jvnill 2013-03-11 09:03:58

回答

1

我懷疑t不是Tag對象,而是AR :: Relation作爲錯誤提示。像t = Tag.where(id: some_id)(忘了添加.first)會導致錯誤。 :)