Ruby on Rails复数(控制器)和单数(模型)约定的解释?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

按照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

这里的表名是复数(用户)。

所以我的问题是 - 为什么表名是复数(用户),即使模型名称是单数(用户)?

提问于
用户回答回答于

Ruby on Rails遵循语言约定。这意味着一个模型表示一个用户,而一个数据库表由许多用户组成。

用户回答回答于

你的User模型的一个实例代表一个用户,所以是单数。users相比之下,拥有所有用户的,所以复数。

扫码关注云+社区