如何获得Mongoid文档的所有字段名称? [英] How can I get all field names of the Mongoid Document?
问题描述
我正在构建后端系统,如Iain Hecker的教程中所述: http://iain.nl/backends -in-rails-3-1 ,我尝试使其与带有Mongoid的MongoDB相适应.
I'm building backend system, as written in Iain Hecker's tutorial: http://iain.nl/backends-in-rails-3-1 and I try to adapt it to MongoDB with Mongoid.
所以当我需要在backend/resourse_helper.rb中写信时
So when I need to write in backend/resourse_helper.rb
module Backend::ResourceHelper
def attributes
resource_class.attribute_names - %w(id created_at updated_at)
end
end
我收到以下错误:
undefined method `attribute_names' for Backend::User:Class
(我将后端植根于"backend/users#index"). Backend :: User继承自User:
(I rooted backend to "backend/users#index"). Backend::User inherits from User:
class User
include Mongoid::Document
devise_for :users
field :name
field :address
end
我只想知道该User:Class的字段列表(即["email","name","address",...]),但是我不知所措,试图找到方法.
I just need a list of fields for that User:Class, as I guess (i.e. ["email", "name", "address", ...]), but I broke my head trying to find how.
推荐答案
Mongoid已经为您提供了对象的属性:
Mongoid already provides you the attributes for an object:
Model.new.attributes
获取这些属性的名称:
Model.fields.keys
这篇关于如何获得Mongoid文档的所有字段名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!