Вложенные сильные параметры в рельсах - ожидается 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»

Ответы на вопрос(5)

Ваш ответ на вопрос