How to get an array with column names of a table

前端 未结 3 1319
时光取名叫无心
时光取名叫无心 2021-01-31 14:59

I need an array with the column names of a table

Any ideas how I can do this with rails 3.0.0rc?

相关标签:
3条回答
  • 2021-01-31 15:37

    For ActiveRecord:

    Model.column_names
    

    For Mongoid:

    Model.attribute_names
    

    Output:

    => ["id", "title", "body", "created_at", "updated_at"] 
    

    Note: It'll be _id instead of id for Mongoid

    0 讨论(0)
  • 2021-01-31 15:42

    Suppose you have a Post model:

    Post.column_names
    # or
    Post.columns.map { |column| column.name }
    

    It will return an array with column names of the table 'posts'.

    0 讨论(0)
  • 2021-01-31 15:54

    ActiveRecord::Base#column_names

    create a model:

    $ rails g model Post title:string body:string
    

    verify app/models/post.rb

    class Post < ActiveRecord::Base
    end
    

    from your terminal:

    $ rake db:migrate
    $ rails c
    > Post.column_names
    

    should produce:

    => ["id", "title", "body", "created_at", "updated_at"] 
    

    credit to @dombesz's comment in Andrea Pavoni's answer

    0 讨论(0)
提交回复
热议问题