Вложенные сильные параметры в рельсах - ожидается AssociationTypeMismatch MYMODEL, получен ActionController :: Parameters ()
м рендеринг модели и этоКниги детей в формате JSON выглядят так:
{"id":2,"complete":false,"private":false, "books" [{ "id":2,"name":"Some Book"},.....
Затем я прихожу обновить эту модель, передавая тот же JSON обратно на мой контроллер, и я получаю следующую ошибку:
ActiveRecord :: AssociationTypeMismatch (книга (# 2245089560) ожидается, получил ActionController :: Parameters (# 2153445460))
В моем контроллере яm для обновления используйте следующее:
@project.update_attributes!(project_params)
private
def project_params
params.permit(:id, { books: [:id] } )
end
Независимо от того, какие атрибуты я в белый списокpermit
Я могу'кажется, чтобы спасти дочернюю модель.
Я что-то упускаю из виду?
Обновление - еще один пример:
контроллер:
def create
@model = Model.new(model_params)
end
def model_params
params.fetch(:model, {}).permit(:child_model => [:name, :other])
end
Запрос:
post 'api.address/model', :model => { :child_model => { :name => "some name" } }
Модель:
accepts_nested_attributes_for :child_model
Ошибка:
ожидается ChildModel, получил ActionController :: Parameters
Пробовал этот метод безрезультатно:http://www.rubyexperiments.com/using-strong-parameters-with-nested-forms/I»