2017-03-02 13 views

答えて

0

あなたのようにそれをテストすることができます(私は完全にこれを作ってるんだので、あなたは、囲むクラスの名前を投稿していない)問題のモデルがCar命名されたと仮定すると:

describe 'user' do 
    let(:car) { create_car_somehow } 

    it 'preloads the user_profile association' do 
    expect(car.user.association(:user_profile)).to be_loaded 
    end 
end 

#associationのリターンメタデータを指定された関連付け(タイプActiveRecord::Associations::BelongsToAssociationなど)。返されたオブジェクトは#loaded?に応答し、関連付けがロードされている場合はtrue、それ以外の場合はfalseを返します。

+1

はどこに 'be_loaded'が定義されていますか?あなたはドキュメントへのリンクを投稿できますか? – Anthony

+1

これは、オンザフライで定義された動的な[述語正規表現](https://www.relishapp.com/rspec/rspec-expectations/v/2-2/docs/matchers/predicate-matchers)です。基本的に 'expect(object).to be_foo'は' expect(object.foo?)。be_truthy'に自動的に変換されます。 –