ある条件でパラメーターを変更する古いコードがありました。以前は機能していたと思います(100%ではありません)。条件が満たされているかどうかにかかわらず、params を nil に設定しています。
犯人は条件内params = tmp.dup
です。条件が false の場合でも、更新アクションでエラーが発生しています。
最小限のテストで再現できました
(レール 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をブラウズする 新しいバグを作成する バグを送信する