试图在文档中查找,但找不到答案。如果我有一个属于用户的模型令牌,我可以这样做:
Token.where(:user_id => u.id)
其中u是User类的实例。
但是不可能这样做:
Token.where(:user => u)
这不应该是可能的,还是我错过了什么? (IMO更具表现力和更简单)。
答案 0 :(得分:0)
您只能在where子句中使用数据库列名。 “user_id”是列名,但“user”是关联的名称。
如果您在用户模型和令牌模型之间有关联,那么您可以这样做。
u.tokens
协会应该是这样的。
class User < ActiveRecord::Base
has_many :tokens
end
class Token < ActiveRecord::Base
belongs_to :user
end