【发布时间】:2011-03-29 14:48:38
【问题描述】:
我需要一个包含表列名的数组
有什么想法可以用 rails 3.0.0rc 做到这一点吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord orm
我需要一个包含表列名的数组
有什么想法可以用 rails 3.0.0rc 做到这一点吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord orm
假设你有一个 Post 模型:
Post.column_names
# or
Post.columns.map { |column| column.name }
它将返回一个包含表“posts”列名的数组。
【讨论】:
Post.column_names
创建模型:
$ rails g model Post title:string body:string
验证app/models/post.rb
class Post < ActiveRecord::Base
end
从您的终端:
$ rake db:migrate
$ rails c
> Post.column_names
应该产生:
=> ["id", "title", "body", "created_at", "updated_at"]
感谢@dombesz 的comment Andrea Pavoni 的回答
【讨论】:
对于 ActiveRecord:
Model.column_names
对于 Mongoid:
Model.attribute_names
输出:
=> ["id", "title", "body", "created_at", "updated_at"]
注意:对于 Mongoid,它将是 _id 而不是 id
【讨论】: