无法修改rails3中的冻结哈希值

时间:2013-02-26 11:09:36

标签: ruby-on-rails hash

我收到以下错误,

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 个答案:

答案 0 :(得分:31)

如评论中所述,您无法更新已销毁对象的属性。

检查如下:

write_attribute(:value, new_value) unless destroyed?