0

私は次のモデルを持っています:

class User < ActiveRecord::Base
  has_many :groups, :through => :memberships
  has_many :memberships, :class_name => "User::Group"
end

class Group < ActiveRecord::Base
  has_many :users, :through => :members
  has_many :members, :class_name => "User::Group"
end

class User::Group < ActiveRecord::Base
  belongs_to :user
  belongs_to :group
end

次の関連付け呼び出しを行います。

@user.groups

User::Group代わりに、s の配列を返します。私は何かを見落としていますか?

4

1 に答える 1

0

結合テーブルの名前を に変更したところUser::Membership、すべてが期待どおりに機能するようになりました。理由はわかりませんが、別のモデルにちなんで名前空間の最後の部分に名前を付けると、何らかの干渉が発生したようです。誰もがより情報に基づいた説明を持っていますか?

于 2013-03-02T23:45:34.507 に答える