Me resulta difícil ver fácilmente qué atributos / propiedades existen en todas mis clases de modelo, ya que no están definidas explícitamente en mis archivos de clase.
Para descubrir los atributos del modelo, mantengo el archivo schema.rb abierto y cambio entre él y cualquier código que esté escribiendo según sea necesario. Esto funciona pero es torpe porque tengo que cambiar entre leer el archivo de esquema para recoger atributos, el archivo de clase de modelo para verificar métodos y cualquier código nuevo que estoy escribiendo para llamar a atributos y métodos.
Mi pregunta es, ¿cómo descubre los atributos del modelo cuando analiza una base de código Rails por primera vez? ¿Mantiene el archivo schema.rb abierto todo el tiempo, o hay una mejor manera que no implique saltar constantemente entre el archivo de esquema y el archivo de modelo?
Respuestas:
Para cosas relacionadas con el esquema
Por ejemplo, variables / atributos en un objeto AR
Por ejemplo, métodos sin herencia de superclase
fuente
Model.attribute_names
.Hay un complemento de rieles llamado Anotar modelos, que generará los atributos de su modelo en la parte superior de sus archivos de modelo. Aquí está el enlace:
https://github.com/ctran/annotate_models
Para mantener la anotación sincronizada, puede escribir una tarea para volver a generar modelos de anotaciones después de cada implementación.
fuente
Si solo está interesado en las propiedades y los tipos de datos de la base de datos, puede usar
Model.inspect
.Alternativamente, después de ejecutar
rake db:create
yrake db:migrate
para su entorno de desarrollo, el archivodb/schema.rb
contendrá la fuente autorizada para la estructura de su base de datos:fuente
Para describir el modelo, uso el siguiente fragmento
De nuevo, esto es si está buscando una impresión bonita para describirlo
ActiveRecord
sin tener que pasar por migraciones o saltar a ese desarrollador antes de que fuera lo suficientemente amable como para comentar los atributos.fuente
Fuente: blog
fuente