query - Convención de Ruby on Rails plural(controlador) y singular(modelo)-explicación
rails join table (5)
Para completar la respuesta de Emily
Una instancia de su modelo de Usuario representa un solo usuario, por lo que es singular. La tabla de usuarios, por el contrario, contiene a todos sus usuarios, por lo que es plural.
Consulte este link sobre la convención de nombres de Rails.
Según la convención Ruby on Rails, los nombres de los controladores se pluralizan mientras que los nombres de los modelos son singulares. Ejemplo: un controlador de usuarios, pero un modelo de usuario.
rails generate controller Users
rails generate model User name:string email:string
Ahora abra el archivo de migración
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :email
t.timestamps
end
end
end
Aquí el nombre de la tabla es plural (usuarios).
Entonces mi pregunta es: ¿Por qué el nombre de la tabla es plural (usuarios) aunque el nombre del modelo sea singular (Usuario)?
Porque la tabla contiene a los usuarios. Es solo la convención.
Ruby on Rails sigue la convención lingüística . Eso significa que un modelo representa un solo usuario, mientras que una tabla de base de datos se compone de muchos usuarios.
Una instancia de su modelo de User
representa un solo usuario, por lo que es singular. La tabla de users
, por el contrario, contiene a todos sus usuarios, por lo que es plural.
en rieles, el nombre del controlador y la tabla son solo del modelo plural, es singular. ¡En un nombre de dos palabras, la segunda palabra está pluralizada!