我正在开发一个 rails3 应用程序,我对 Active Model 有点困惑。这是我的模型:
class MyClass
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :foo, :foo1, foo2
def initialize(attributes = {})
attributes.each { |key, value| send "#{key}=", value }
end
def self.all
get_elig
end
private
def self.get_elig
# My function
end
end
该get_elig
函数返回一个像这样的哈希:{"foo1"=>"bar1", "foo2"=>"bar2", "foo"=>"bar"}
在导轨控制台下:
irb(main):031:0> t = MyClass.all
=> {"foo1"=>"bar1", "foo2"=>"bar2", "foo"=>"bar"}
irb(main):032:0> t.foo
NoMethodError: undefined method `foo' for #<Hash:0x105e96be0>
我的问题很简单:我的模型出了什么问题?
感谢帮助。