我目前是像这样设置的多态关联
class Reading < ApplicationRecord
has_one :audio, as: :audioable
accepts_nested_attributes_for :audio
end
class Audio < ApplicationRecord
belongs_to :audioable, polymorphic: true
end
在我的RSPEC测试中,我有这个设置
@reading = attributes_for(:reading, creator: @user, body: "who let the dogs out? Must be me\n\nMeMeMe")
@reading[:audio_attributes] = attributes_for(:audio)
但是,将此@reading
发布到reading#create
控制器
{:errors=>{:"audio.audioable"=>["must exist"]}}
对于非多态关联,我已经使用inverse_of
来创建父资源和嵌套资源,但我不知道如何为多态关联做这件事。