根据Ruby on Rails惯例,控制器名称变为多元化,而模型名称是单数。示例:用户控制器,但是用户模型。
rails generate controller Users
rails generate model User name:string email:string
现在打开迁移文件
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :email
t.timestamps
end
end
end
此处表名是复数(用户)。
所以我的问题是 - 为什么表名是复数(用户),即使模型名称是单数(用户)?
答案 0 :(得分:51)
Ruby on Rails遵循语言约定。这意味着模型代表单个用户, 而数据库表由许多用户组成。
答案 1 :(得分:12)
User
模型的实例代表单个用户,因此是单数。相比之下,users
表包含了所有用户,因此它是复数形式。
答案 2 :(得分:4)
完成Emily的回答
User模型的实例代表单个用户,因此是单数。相比之下,users表包含了所有用户,因此它是复数形式。
答案 3 :(得分:1)
在rails conntroller和table name中,复数模型单独是单数。在一个双字名称中,第二个单词是复数!
答案 4 :(得分:0)
因为该表包含用户。它就是惯例。