我有两个模型,设置如下(为简洁省略):
class Note
has_many :documents, as: :documentable
end
class Document
validates :documentable, presence: true
belongs_to :documentable, polymorphic: true
end
我正在通过向我的API(Note
)发送请求来创建POST /api/v1/notes
实例,这是一个传统的RESTful创建。 JSON看起来像这样:
{
"note": {
"description": "Test Description",
"documents_attributes": [
{ "name": "document.name.pdf" }
]
}
}
目标是让此JSON创建注释以及嵌套文档,并将documentable
关联设置为新创建的父Note
对象。通过指定反向关联,我没有遇到任何问题,但是,当它是多态的时,它有点不同。
如何确保Rails在子文档上设置可记录文件?现在它正在抛出422 Unprocessable Entity
,因为验证没有通过,因为documentable
没有被设置。