私はこのサイトのドキュメントや同様の質問に喜んで従うことを最善にしました。 I "mはに関連した招待状を作成しようとしているが、私の仕様では工場の女の子 - 関連するレコードを作成する
class Invite < ApplicationRecord
belongs_to :ceremony
end
invite.rb
ceremony.rb
class Ceremony < ApplicationRecord
has_many :invites, dependent: :destroy
end
:私は多くの招待状を持って式典を作成しようとしています
let(:ceremony) { FactoryGirl.create(:ceremony) }
let(:nom_1) { FactoryGirl.create(:nominee, award: award) }
let(:inv_1) { FactoryGirl.create(:invite, email: nom_1.email, ceremony: ceremony) }
let(:inv_2) { FactoryGirl.create(:invite, ceremony: ceremony) }
let(:inv_3) { FactoryGirl.create(:invite, ceremony: ceremony) }
before do
User.delete_all
end
it 'should return invites not assigned a nominee' do
binding.pry
expect(award.available_nominees).to include(inv_2, inv_3)
end
テストがbinding.pryにヒットすると、私は新しいceremoを見ることができますその儀式のIDで3つの新しい招待状が作成されました。私が電話すると
ceremony.invites
私は空の関係を受け取ります。電話すると
Invite.where(ceremony: ceremony.id)
[inv_1、inv_2、inv_3]が届きます。私は
inv_1.ceremony
を呼び出すと、私は空の関係を返し
ceremony.invites
しかし、再び、儀式を受けます。私は招待状が正しい儀式IDで作成されているにも関わらず、式典には招待状がないように見えます。どんな助けでも大歓迎です。
'Invite'ファクトリを定義するときに、セレモニーとの関連付けを追加しましたか? – iskvmk
私は明示的に述べているので、私は必要とは思わないが、はい私は持っている – Mark