有一些旧代码在某些情况下会修改参数。我相信它以前有效(不是 100%)。无论是否满足条件,我们现在都将 params 设置为 nil。
罪魁祸首是在这种情况下,我执行了params = tmp.dup
. 即使条件为假,这也会导致更新操作出错。
我能够通过最少的测试重新创建
(轨道 2.3.5)
rails bug;
cd bug;
script/generate scaffold bug name:string;
rake db:create;
rake db:migrate;
编辑 apps/controllers/bugs_controller.rb 添加到更新操作的开头
l_p = params.dup
if (false)
params = l_p.dup # NOT REACHED
end
脚本/服务器 WEBrick -p 5001
浏览到http://localhost:5001/bugs 创建一个新的 bug 编辑 bug 提交