获取DataMapper模型属性

时间:2011-01-12 20:56:00

标签: ruby datamapper

有没有办法使用DataMapper获取模型的属性?例如:

require 'rubygems'
require 'datamapper'

class User
  include DataMapper::Resource

  property :id, Serial
  property :name, String
end

我可以在数组或哈希中获取User的属性吗?

2 个答案:

答案 0 :(得分:10)

是的,您可以通过

获取它们
User.properties

它将返回一个PropertySet实例,如果需要,可以将其转换为数组。

答案 1 :(得分:3)

>> u = User.new
=> #<User @id=nil @name=nil>
>> u.id = 1
=> 1
>> u.name = "hello"
=> "hello"
>> u.attributes
=> {:name=>"hello", :id=>1}
>> u.attributes.class
=> Hash