1
我有一個Post,Image和Video模型,我需要對Post,Image和Video之間的關聯進行建模。圖像和視頻媒體應屬於郵政。我還需要郵寄記錄才能通過調用@ post.post_media來獲取所有相關的post_media。Rails關聯 - 特定案例
我需要這些測試通過:
context "viedos" do
let(:post) { create(:post) }
let(:video) { create(:video) }
it "can associate and video" do
post.videos << video
expect(post.videos.last).to eql(video)
end
it "can create an associated video" do
video_attributes = attributes_for(:video)
post.videos.create(video_attributes)
expect(post.videos.last.attributes).to include(video_attributes.stringify_keys)
end
it "can create associated video as post_media" do
post.post_media.create(medium: video)
expect(post.videos.last).to eql(video)
end
end
context "post_media" do
let(:post) { create(:post) }
let(:video) { create(:video) }
let(:image) { create(:image) }
before do
post.videos << video
post.images << image
end
it "should return all post related media" do
expect(post.post_media.count).to eql(2)
expect(post.post_media.map(&:medium)).to match_array([video, image])
end
end
我感謝你的幫助:)