Railsガイドに記載されている自己結合の例を試していました。テーブルに「manager_id」フィールドを追加しました。
問題は、2 つのオブジェクトを関連付けた後、「保存」を呼び出すまで反映されないことです。
開発モードでコンソールからテストしました:
> boss, emp = 2.times.map { FactoryGirl.create :employee }
> emp.manager = boss
> emp.manager_id == boss.id
=> true
> boss.subordinates
=> []
「emp」を保存すると、目的の結果が得られます。
> emp.save
> boss.subordinates
=> [#Employee obj]
どうしてこんなことに?テストケースの作成にも同じアプローチを使用する必要がありますか? どういうわけか私はそれを間違っていると感じており、より良い方法があるはずです.