正确指定多态关联的反关联

时间:2016-03-21 16:41:27

标签: ruby-on-rails

我有两个模型,设置如下(为简洁省略):

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没有被设置。

0 个答案:

没有答案