【发布时间】:2010-12-06 11:48:15
【问题描述】:
当我创建 SomeClass 的实例时,我试图将类变量初始化为哈希,但我一直收到错误消息。对 ruby 来说有点新,所以任何帮助都将不胜感激。谢谢
class SomeClass < ActiveRecord::Base
attr_accessible :some_hash
serialize :some_hash, Hash
def initialize(args = {})
@some_hash != {}
end
end
NoMethodError:未定义的方法has_key?' for nil:NilClass
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/whiny_nil.rb:52:inmethod_missing'
来自 /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2827:in has_attribute?'inspect'
from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2888:in
来自 /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2887:in collect'inspect'
from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2887:in
来自 /opt/local/lib/ruby/1.8/irb.rb:310:in output_value'eval_input'
from /opt/local/lib/ruby/1.8/irb.rb:159:in
来自 /opt/local/lib/ruby/1.8/irb.rb:271:in signal_status'eval_input'
from /opt/local/lib/ruby/1.8/irb.rb:155:in
来自 /opt/local/lib/ruby/1.8/irb.rb:154:in eval_input'start'
from /opt/local/lib/ruby/1.8/irb.rb:71:in
来自 /opt/local/lib/ruby/1.8/irb.rb:70:in catch'start'
from /opt/local/lib/ruby/1.8/irb.rb:70:in
来自 /opt/local/bin/irb:13
【问题讨论】:
标签: ruby-on-rails