Я пытаюсь обновить только вложенные атрибуты, когда нажата кнопка отправки, но я не могу понять, как передать только эти параметры в действие обновления.rails 4 обновить только вложенные атрибуты сильные параметры
def update
if params[:commit] == "Update Dogs"
owner.update_attributes(params[dogs_attributes: [:id, :name, :tag]])
render :show
...
end
end
def owner_attributes
params.fetch(:owner).permit(:id, :name, :address, dogs_attributes: [:id, :name, :tag])
end
Он не будет вносить изменения. Я также пробовал
owner.update_attributes(dogs_attributes)
но затем я получаю сообщение об ошибке «неопределенный метод dogs_attributes». Пробовал определять его как свой собственный метод, похожий на owner_attributes, но затем ActionController не смог получить param: dog. Я попробовал целую кучу вариаций выше, безрезультатно. Вероятно, это простая ошибка, но я не могу понять, как правильно это записать. Есть идеи?
PS. Владелец не принимает вложенные атрибуты для собак.
Спасибо!
'owner.update_attributes (owner_attributes)'? – apneadiving
'owner.update_attributes (params [dogs_attributes: [: id,: name,: tag]])' что это? .. это должно быть что-то вроде owner.update_attributes (owner_attributes) –
, но я хочу только обновить атрибуты собак для владельца, есть некоторые другие вещи в форме, которую я не хочу менять – ussferox