Как получить массив с именами столбцов таблицы

Мне нужен массив с именами столбцов таблицы

Любые идеи, как я могу сделать это с рельсами 3.0.0rc?


person Arwed    schedule 13.08.2010    source источник


Ответы (3)


Предположим, у вас есть модель Post:

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

Он вернет массив с именами столбцов таблицы «сообщения».

person Andrea Pavoni    schedule 14.08.2010
comment
...или просто используйте Post.column_names - person dombesz; 13.09.2011

ActiveRecord::Base#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 комментарий в Ответ Андреа Павони

person Patrick Klingemann    schedule 21.02.2012

Для ActiveRecord:

Model.column_names

Для монгоидов:

Model.attribute_names

Вывод:

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

Примечание. Для монгоидов будет _id вместо id

person Sheharyar    schedule 16.07.2014
comment
Разве это не лучший ответ? Сразу переходит к делу. - person Jason Swett; 09.02.2016