古いRails1アプリケーションをRails2にアップグレードしていますが、チェックボックスの処理で問題が発生しています。古いコードには、チェックボックスごとcheck_box_tag
に呼び出しと対応する呼び出しがあります。hidden_field_tag
これは以前は機能していましたが、アップグレード後、チェックされているかどうかに関係なく、paramsハッシュのすべてのチェックボックスがデフォルトの非表示値として表示されます。私はこのcheck_box
方法について読んでおり、対応する隠しフィールドを操作するという観点から、Rails1から2から3にゆっくりと変化してきました。
Rails 2でチェックボックスの処理がどのように変更されたかについてのドキュメントはありますか、またはRails 1のアプローチが機能しなくなった理由を誰かが説明できますか?
編集:さらに調査した後、私はこれを見つけました。Rails 2.2では、パラメーター抽出は常に特定のキーの最初の出現を取得するように見えます(したがって、非表示フィールドは最後になります)が、Rails 2.3では、パラメーター抽出は常に特定のキーの最後の出現を取得します(したがって、非表示フィールドが最初に発生する必要があります) )。そして、これは明らかにリリースノートとドキュメントに十分に文書化されていません。