As per Ruby on Rails convention, controller names get pluralized while model names are singular. Example : a Users controller, but a User model.
rails generate controller Users rails generate model User name:string email:string
Now open migration file
class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name t.string :email t.timestamps end end end
Here table name is plural (users).
So my question is – Why table name is plural (users) even though the model name is singular (User)?
Ruby on Rails follow linguistic convention. That means a model represents a single user,
whereas a database table consists of many users.
An instance of your
User model represents a single user, so is singular. The
users table, by contrast, holds all of your users, so it’s plural.
To complete Emily’s answer
An instance of your User model represents a single user, so is singular. The users table, by contrast, holds all of your users, so it’s plural.
Check this link about Rails naming convention.
in rails conntroller and table name are plural model alone is singular.In a two word name second word is pluralized !
Because the table holds users. Its just the convention.