Selon Ruby on Rails convention, les noms de contrôleur sont pluralisés tandis que les noms de modèle sont singuliers. Exemple: un contrôleur Utilisateurs, mais un modèle Utilisateur.
Rails generate controller Users
Rails generate model User name:string email:string
Maintenant, ouvrez 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 pluriel (utilisateurs).
Donc ma question est - Pourquoi le nom de la table est pluriel (utilisateurs) même si le nom du modèle est singulier (Utilisateur)?
Ruby on Rails follow convention linguistique. Cela signifie qu'un modèle représente un seul utilisateur, tandis qu'une table de base de données se compose de nombreux utilisateurs.
Une instance de votre modèle User
représente un seul utilisateur, elle est donc singulière. La table users
, en revanche, contient tous vos utilisateurs, elle est donc plurielle.
Pour compléter la réponse d'Emily
Une instance de votre modèle utilisateur représente un seul utilisateur, elle est donc singulière. Le tableau des utilisateurs, en revanche, contient tous vos utilisateurs, il est donc pluriel.
in Rails conntroller and table name are plural model alone is singular.In a two Word name second Word is pluralized!
Parce que la table contient des utilisateurs. C'est juste la convention.