【发布时间】:2014-08-23 07:50:57
【问题描述】:
当我尝试保存具有嵌套属性的模型时,我遇到了一个问题。我要模型。一个人有很多衬衫。但是当我尝试通过 JSON POST 请求保存一个人时。只有 Person 被存储,而不是衬衫。有谁知道,我在这里缺少什么?
型号
class Person < ActiveRecord::Base
has_many :shirts
accepts_nested_attributes_for :shirts
validates :shirts, presence: true
end
控制器
class PersonsController < ApplicationController
...
def new
@person = Person.new
end
def create
@person = Person.new(person_params)
...
def person_params
params.require(:person).permit(:name, :age, :shirts_attributes => [:color, :size])
end
end
POST 本地主机:3000/人
{
"name" : "Jon",
"age" : 34,
"shirts_attributes" : [
{
"color" : "black",
"size" : "XL"
},
{
"color" : "white",
"size" : "XS"
}
]
}
【问题讨论】:
-
请发布您的
new方法和form code。 -
为什么需要表单代码?我正在向 URL localhost:3000/persons 发出 POST 请求,包括发布的 JSON?
-
您是否发布了错误的控制器代码?
CalendersController在这里做什么? -
你应该发布
PersonsController。 -
@Pavan,你是对的,我编辑了代码...
标签: json ruby-on-rails-4 nested-attributes