【发布时间】:2015-04-12 20:35:05
【问题描述】:
我的 Rails API 中有一个 RESTful 创建操作,用于我的模型 Case。很简单:
@case = Case.new(case_params)
if @case.save
render json: @case, status: :created, location: @case
else
render json: @case.errors, status: :unprocessable_entity
end
我正在使用模型字段和关联将数据发布到端点 (JSON)。在前端填写表格时,会包含地址。 Case 模型有许多 Address 模型。
所以我将 JSON 中的地址作为对象数组包含在内,例如:
{
"field_on_case": "value",
"addresses": [{
"street_address": "1234 wonderland"
}, {
"street_address": "4321 wonderland"
}]
}
执行此操作并发布到 API 时,在 Web 服务器中我看到:Unpermitted parameters: addresses
我在Case 控制器的case_params 方法中有这个sn-p:
params.require(:case).permit(:addresses, addresses_attributes: [:id, :type, :street_address, :city, :zip, :state])
我的Case 模型中也有这条线:
accepts_nested_attributes_for :addresses
【问题讨论】:
-
您是否尝试从案例参数中删除 :addresses 并仅使用addresses_attributes?这篇文章可能对stackoverflow.com/questions/18540679/… 有所帮助
标签: ruby-on-rails json activerecord