Rails:获取来自数据库的对象的所有字段

Nic*_* M. 12 ruby-on-rails

假设我有一个Foo ActiveRecord带字段的模型foo_id,foo_name并且foo_description.

做完之后

@foo = Foo.find(1)
Run Code Online (Sandbox Code Playgroud)

有没有这样的方法model_fields:" @foo.model_fields()会返回数组:

["foo_id", "foo_name", "foo_description"] ?
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

Emi*_*ily 31

有一种attributes方法可以给出字段和值的哈希值.所以你可以使用

@foo.attributes.keys
Run Code Online (Sandbox Code Playgroud)

获取模型上的字段数组.

还有一种Foo.column_names类方法可以为您提供相同的信息,而无需先查找记录.

文档:
ActiveRecord :: Base.column_names
ActiveRecord :: Base#attributes