我需要一个包含表名列
的数组有关如何使用rails 3.0.0rc执行此操作的任何想法?
答案 0 :(得分:54)
假设你有一个Post模型:
Post.column_names
# or
Post.columns.map { |column| column.name }
它将返回一个包含表'posts'的列名的数组。
答案 1 :(得分:37)
创建模型:
$ 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信用
答案 2 :(得分:16)
对于ActiveRecord:
Model.column_names
对于Mongoid:
Model.attribute_names
<强>输出:强>
=> ["id", "title", "body", "created_at", "updated_at"]
注意:对于Mongoid,它将是_id
而不是id