我有两个表users
和providers
,它们具有has_and_belongs_to_many关系。除了providers_users
和uid
之外,联接表user_id
还有一个额外的列provider_id
。
如何添加由users.id
,providers.id
和uid
组成的新记录?我可以添加users.id
和providers.id
,但无法弄清楚如何添加uid
。
答案 0 :(得分:6)
你做不到。如果要将属性添加到连接表,则需要进入模型,然后使用:通过关系来实现相同的事情(这实际上是我最喜欢的实现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