2013-06-19 78 views
0

試圖在文檔中尋找這個,但找不到答案。如果我有belongs_to的用戶模型令牌,我可以這樣做:rails ActiveRecord使用關係在哪裏方法

Token.where(:user_id => u.id) 

其中u是用戶類的一個實例。

但是這是不可能的事:

Token.where(:user => u) 

應該不是這個可能還是我失去了一些東西? (國際海事組織更富有表現力和更簡單)。

回答

0

您只能在where子句中使用數據庫列名稱。 「user_id」是列名稱,但「user」是關聯的名稱。

如果您有用戶模型和令牌模型之間的關聯,那麼您可以執行此操作。

u.tokens 

關聯應該看起來像這樣。

class User < ActiveRecord::Base 
    has_many :tokens 
end 

class Token < ActiveRecord::Base 
    belongs_to :user 
end 
+0

是的,我有用戶模型和令牌模式之間的關聯。 – 0xSina