我正在构建API端点来更新模型。我可以更新除嵌套资源之外的每一列,我尝试了不同的方法,但似乎没有任何工作
这是我试图发送到服务器的JSON
{
"reservation": {
"reservation_dates": [
{
"is_desirable": true,
"date": "5-10-2019"
}
]
}
}
虽然我已将其添加到我的
,但我还是从reservation_date获取了一个未经许可的参数def permitted_attributes_for_update
params.require(:reservation).permit(:date, :time, :comment, :budget, :currency, :status,
:general_text, :idea_text, :artist_text, :desired_city,
:desired_country, :desired_googleid, :studio_id, :artist_id,
:tattoos, reservation_dates: [], general_url_array: [],idea_url_array: [],
artist_url_array: [])
end
我希望能够直接从JSON更新或者至少允许该数组,以便稍后我可以在我的UpdateService上使用
感谢您的帮助
答案 0 :(得分:0)
您需要指定reservation_dates
中允许的内容:
params.require(:reservation).permit(reservation_dates_attributes: [:is_desirable, : date], ...)
但是,请注意,如果您的reservation
has_many reservation_dates
,则会导致冲突:reservation_dates应该是ReservationDate
的实例,但您提供哈希值。 rails的方式是使用reservation_dates_attributes
而不是reservation_dates
。