ruby-on-rails - framework - tutorial django
Ruby/Rails: Modelos nombrados con dos palabras(nombres de problemas de convención) (4)
Esta es realmente una pregunta acerca de las convenciones de nombres.
Tengo un modelo llamado PromotedEvents
El archivo se llama promote_events.rb
Creé la tabla con:
create_table :promoted_events do |t|
Ahora estoy teniendo problemas para crear cualquier cosa, así que me pregunto si hay algún problema al usar el modelo con dos palabras
estoy en la consola e intenté
a = PromotedEvents.new
a = Promoted_Event.new
a = promoted_event.new
y sigues obteniendo un nameerror : uninitialized constant
error nameerror : uninitialized constant
¿Algunas ideas?
Los nombres de modelo son singulares y el caso de camello es así pe = PromotedEvent.new()
el archivo debe ser promoted_event.rb
Los controladores son plurales
PromotedEventsController
las constantes son ALL_CAPS
los lugareños están separated_by_underscores_and_lowercase
los nombres de las tablas son el plural ''SELECT * FROM promote_events`
Si ayuda, siempre lo pienso así:
El nombre del modelo es singular porque representa una cosa única y específica . Por lo tanto, PromotedEvent
es un evento promocionado específico que tiene un nombre, fecha, etc.
El nombre de la tabla por otro lado es plural. Esto se debe a que la tabla almacena una colección de estos elementos singulares. Por lo tanto, promote_events.
En los rieles, los nombres de archivo son en su mayoría una cuestión de convención, ya que ruby tiene reglas bastante laxas en este sentido, pero en general es class_name.rb
. Esta página puede ayudarlo a obtener una mejor visión general de qué convenciones se usan, dónde y qué es específico de Ruby versus Rails.
Si es un n00b de rieles extremos como yo, querrá recordar crear una definición de clase para su tabla recién creada y colocarla en la aplicación / modelos.
Sería como
class LargeCat < ActiveRecord::Base
belongs_to :zoo
end
Tu clase debe ser singular.
Llámalo PromotedEvent
en el archivo promoted_event.rb
a = PromotedEvent.new