Rails3で凍結されたハッシュを変更できない 質問する

Rails3で凍結されたハッシュを変更できない 質問する

次のエラーが発生します。

can't modify frozen Hash
/home/.rvm/gems/ruby-1.9.3-p327@ui/gems/activerecord-3.2.6/lib/active_r
ecord/attribute_methods/write.rb:38:in `[]='
/home/.rvm/gems/ruby-1.9.3-p327@ui/gems/activerecord-3.2.6/lib/active_r
ecord/attribute_methods/write.rb:38:in `write_attribute'

この行から

write_attribute(:value, new_value)

これは特定の日には正常に実行できます。しかし、現在は上記のエラーで継続的に失敗します。解決策を試してみましたが、何も機能しませんでした。

ベストアンサー1

コメントで説明されているように、破棄されたオブジェクトの属性を更新することはできません。

次のようなもので確認してください:

write_attribute(:value, new_value) unless destroyed?

おすすめ記事