0

古いRails1アプリケーションをRails2にアップグレードしていますが、チェックボックスの処理で問題が発生しています。古いコードには、チェックボックスごとcheck_box_tagに呼び出しと対応する呼び出しがあります。hidden_field_tagこれは以前は機能していましたが、アップグレード後、チェックされているかどうかに関係なく、paramsハッシュのすべてのチェックボックスがデフォルトの非表示値として表示されます。私はこのcheck_box方法について読んでおり、対応する隠しフィールドを操作するという観点から、Rails1から2から3にゆっくりと変化してきました。

Rails 2でチェックボックスの処理がどのように変更されたかについてのドキュメントはありますか、またはRails 1のアプローチが機能しなくなった理由を誰かが説明できますか?

編集:さらに調査した後、私はこれを見つけまし。Rails 2.2では、パラメーター抽出は常に特定のキーの最初の出現を取得するように見えます(したがって、非表示フィールドは最後になります)が、Rails 2.3では、パラメーター抽出は常に特定のキーの最後の出現を取得します(したがって、非表示フィールドが最初に発生する必要があります) )。そして、これは明らかにリリースノートとドキュメントに十分に文書化されていません。

4

1 に答える 1

0

私の記憶が正しければ、レール2のある隠しフィールドは必要ありません。check_box_tagを使用するだけで、すべてが自動的に行われます。

于 2011-01-14T23:21:30.750 に答える