Rails 3 アプリケーションでハッシュを保存する際に問題があります。コンソールを使用している場合は問題なく保存できます。フォームからハッシュを送信すると機能しません。
This SO question はそれに対処しますが、解決策は私にとってはうまくいきません。さらに、私が使用する場合:
serialize :bulk_action, Hash
エラーが発生します:
Attribute was supposed to be a Hash, but was a String
フォームを介して保存すると、ハッシュは次のようになります。
"{\"location\"=>{\"commands\"=>{\"custom_command_one\"=>\"true\", \"custom_command_two\"=>\"true\"}}}"
一方、コンソールを介して:
{"location"=>{"commands"=>{"custom_command_one"=>"true", "custom_command_two"=>"true"}}}
私のデータベース フィールドはテキスト フィールドです。フォームを介してハッシュを保存する最良の方法は何ですか?
- 編集 -
名前に文字列ではなくシンボルを使用すると、問題を回避できることがわかりましたが、ハッシュではなく1つの長い文字列を出力します。