如何获得Mongoid文档的所有字段名称? [英] How can I get all field names of the Mongoid Document?

查看:65
本文介绍了如何获得Mongoid文档的所有字段名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建后端系统,如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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆