Ruby on Rails plural (controller) and singular (model) convention - explanation

Solution 1:

Ruby on Rails follow linguistic convention. That means a model represents a single user, whereas a database table consists of many users.

Solution 2:

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.

Solution 3:

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.