41 votes

Comment obtenir un tableau avec les noms des colonnes d'une table ?

J'ai besoin d'un tableau contenant les noms des colonnes d'un tableau.

Avez-vous une idée de la façon dont je peux faire cela avec rails 3.0.0rc ?

59voto

Andrea Pavoni Points 3392

Supposons que vous ayez un modèle de poste :

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

Il retournera un tableau avec les noms des colonnes de la table 'posts'.

37voto

Patrick Klingemann Points 4560

ActiveRecord::Base#column_names

créer un modèle :

$ rails g model Post title:string body:string

vérifier app/models/post.rb

class Post < ActiveRecord::Base
end

depuis votre terminal :

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

devrait produire :

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

crédit à @dombesz 's commentaire en Andrea Pavoni Réponse de la Commission

19voto

Sheharyar Points 2063

Pour ActiveRecord :

Model.column_names

Pour Mongoid :

Model.attribute_names

Sortie :

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

_Note : Ce sera _id au lieu de id pour Mongoid_

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X