1

2 つのテーブルがusersありproviders、has_and_belongs_to_many 関係があります。結合テーブルには、 とに加えてproviders_users追加の列があります。uiduser_idprovider_id

users.idproviders.idおよびで構成される新しいレコードを追加するにはどうすればよいuidですか? users.idandを追加できますproviders.idが、 を追加する方法がわかりませんuid

4

1 に答える 1

6

できません。結合テーブルに属性を追加したい場合は、モデルを作成し、同じことを達成するためにリレーションシップで :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
于 2012-05-19T23:31:48.237 に答える