0

私は自分のモデルにこれを持っています:

class Instance < ActiveRecord::Base
   has_and_belongs_to_many :owners, :class_name => 'User'

この:

 class User < ActiveRecord::Base
   has_many :instances

そして、私はこの移行を持っています:

 class CreateInstancesUsersJoinTable < ActiveRecord::Migration
     def up
       create_table :instances_users, :id=>false do |t|
         t.string :instance_id
         t.string :user_id
       end
     end

 def down
   drop_table :instances_users
  end
end

そして、インスタンスコントローラには次のものがあります:

   @instance.owners << owner

しかし、テストは、所有者が所有者配列に含まれていないことを示しています。しかし、私が言うとき:

  p @instace.owners - before or after @instance.owners << owner

テストに合格します。なぜこれが起こるのか誰か知っていますか?

4

1 に答える 1

0

ユーザーモデルでは、次のように書く必要があります

has_and_belongs_to_many  :instances

それ以外の

  has_many :instances
于 2012-08-29T15:08:01.687 に答える