rails query left joins includes active ruby-on-rails ruby activerecord

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!