【发布时间】:2011-07-20 04:24:29
【问题描述】:
假设以下模型:
class Article
include MongoMapper::Document
key :name, String
key :body, String
end
我可以将模型的键放入数组或哈希中吗?
【问题讨论】:
标签: ruby mongomapper
假设以下模型:
class Article
include MongoMapper::Document
key :name, String
key :body, String
end
我可以将模型的键放入数组或哈希中吗?
【问题讨论】:
标签: ruby mongomapper
Article.keys 将为您提供关键对象的关键名称哈希。如果您只想要键名,请尝试Article.keys.keys。
ruby-1.9.2-p0 :011 > Article.keys
=> {
"_id" => #<MongoMapper::Plugins::Keys::Key:0x000001041e5d48 @type=ObjectId, @name="_id", @options={}, @default_value=nil>,
"name" => #<MongoMapper::Plugins::Keys::Key:0x00000104013100 @type=String, @name="name", @options={}, @default_value=nil>,
"body" => #<MongoMapper::Plugins::Keys::Key:0x00000104011b20 @type=String, @name="body", @options={}, @default_value=nil>
}
ruby-1.9.2-p0 :012 > Article.keys.keys
=> ["_id", "name", "body"]
但请注意,如果您动态设置任何未在模型中声明的键,或者您加载的对象具有模型中没有的额外键,它们将显示在键哈希中。见https://github.com/jnunemaker/mongomapper/issues/195。
【讨论】: