62 votes

Convention du pluriel (contrôleur) et du singulier (modèle) de Ruby on Rails - explication

Selon la convention Ruby on Rails, les noms de contrôleurs sont mis au pluriel alors que les noms de modèles sont au singulier. Exemple : un contrôleur Users, mais un modèle User.

rails generate controller Users
rails generate model User name:string email:string

Ouvrez maintenant le fichier de migration

 class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.string :email    
      t.timestamps
    end
  end
end

Ici, le nom de la table est au pluriel (utilisateurs).

Ma question est donc la suivante : pourquoi le nom de la table est au pluriel (users) alors que le nom du modèle est au singulier (User) ?

56voto

Amit Pandya Points 3495

Suivre Ruby on Rails convention linguistique . Cela signifie qu'un modèle représente un seul utilisateur, alors qu'une table de base de données est constituée de plusieurs utilisateurs.

13voto

Emily Points 9231

Une instance de votre User représente un seul utilisateur, il est donc singulier. Le site users La table, par contre, contient tous vos utilisateurs, elle est donc au pluriel.

4voto

Justin D. Points 1676

Pour compléter la réponse d'Emily

Une instance de votre modèle User représente un seul utilisateur, elle est donc singulière. La table users, par contre, contient tous vos utilisateurs, elle est donc au pluriel.

1voto

user3706826 Points 11

Dans les rails, le nom du contrôleur et de la table sont au pluriel, le modèle seul est au singulier, dans un nom à deux mots, le deuxième mot est au pluriel !

0voto

Parce que la table contient des utilisateurs. C'est juste la convention.

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