params.permit!
белые списки все атрибуты , приводящие к уязвимости массового назначения.Лучший способ обойти это - внести в белый список только необходимые атрибуты , например
params.permit(:attr1,:attr2..)
Еще лучше использовать require
с permit
Позволяет вам выбрать, какие атрибуты должны быть внесены в белый список для массового обновления и, таким образом, предотвратить случайное раскрытие того, что не должно быть выставлено.Предоставляет два метода для этой цели: требовать и разрешать.Первый используется для маркировки параметров по мере необходимости.Последний используется для установки параметра как разрешенного и ограничения, какие атрибуты должны быть разрешены для массового обновления.
params.require(:key).permit(:attr1, :attr2..)