我有两个表users,providers并且有 has_and_belongs_to_many 关系。除了和之外,连接表providers_users还有一个额外的列。uiduser_idprovider_id
如何添加由和组成users.id的新记录?我可以添加,但不知道如何添加.providers.iduidusers.idproviders.iduid
我有两个表users,providers并且有 has_and_belongs_to_many 关系。除了和之外,连接表providers_users还有一个额外的列。uiduser_idprovider_id
如何添加由和组成users.id的新记录?我可以添加,但不知道如何添加.providers.iduidusers.idproviders.iduid
你不能。如果要给join table添加属性,需要make成模型,然后在relationships上使用:through来达到同样的效果(这其实是我最喜欢的habtm关系实现方式):
class ProviderUser < ActiveRecord::Base
belongs_to :user
belongs_to :provider
validates_presence_of :uid
end
class User < ActiveRecord::Base
has_many :provider_users
has_many :providers, :through=>:provider_users
end
class Provider < ActiveRecord::Base
has_many :provider_users
has_many :users, :through=>:provider_users
end