Был какой-то старый код, который при некоторых условиях изменял бы параметры. Я считаю, что это работало раньше (не 100%). Теперь мы получаем параметры, равные нулю, независимо от того, выполняется условие или нет.
Виновник в состоянии, я выполняю params = tmp.dup
. Даже если условие ложно, это приводит к ошибке в действии обновления.
Я смог воссоздать с минимальным тестом
(Рельсы 2.3.5)
rails bug;
cd bug;
script/generate scaffold bug name:string;
rake db:create;
rake db:migrate;
редактировать приложения / контроллеры / bugs_controller.rb
добавить в начало действия обновления
l_p = params.dup
if (false)
params = l_p.dup # NOT REACHED
end
скрипт / сервер WEBrick -p 5001
перейдите к http://localhost:5001/bugs
создать новую ошибку
ошибка редактирования
представить