Beruflich Dokumente
Kultur Dokumente
Active Record es la M en MVC , el modelo, que es la capa del sistema responsable de representar los datos y la lógica
del negocio. Active Record facilita la creación y el uso de objetos comerciales cuyos datos requieren un
almacenamiento persistente en una base de datos. Es una implementación del patrón de registro activo, que en sí es
una descripción de un sistema de asignación de mapas relacionales de objetos.
1.1 El patrón de registro activo
Active Record fue descrito por Martin Fowler en su libro Patterns of Enterprise Application Architecture . En Active
Record, los objetos llevan datos persistentes y comportamiento que opera sobre esos datos. Active Record tiene la
opinión de que garantizar la lógica de acceso a los datos como parte del objeto educará a los usuarios de ese objeto
sobre cómo escribir y leer desde la base de datos.
1.2 Asignación relacional de objetos
El mapeo relacional de objetos , comúnmente denominado abreviatura ORM, es una técnica que conecta los objetos
enriquecidos de una aplicación a tablas en un sistema de gestión de bases de datos relacionales. Al utilizar ORM, las
propiedades y relaciones de los objetos en una aplicación se pueden almacenar y recuperar fácilmente desde una base
de datos sin escribir sentencias SQL directamente y con menos código de acceso a la base de datos en general.
Si no está lo suficientemente familiarizado con los sistemas de administración de bases de datos relacionales (RDBMS)
o el lenguaje de consulta estructurado (SQL), consulte este tutorial (o este ) o estudielos por otros medios. Comprender
cómo funcionan las bases de datos relacionales es crucial para comprender los registros activos y los rieles en general.
Article articles
LineItem line_items
Deer deers
Mouse mice
Person people
user = User.new
user.save # => false
user.save! # => ActiveRecord::RecordInvalid:
Validation failed: Name can't be blank
Puede obtener más información sobre las validaciones en la guía Validación de registros activos .
7 devoluciones de llamada
Las devoluciones de llamadas de registro activo le permiten adjuntar código a ciertos eventos en el ciclo de vida de sus
modelos. Esto le permite agregar comportamiento a sus modelos al ejecutar código de forma transparente cuando
ocurren esos eventos, como cuando crea un nuevo registro, lo actualiza, lo destruye, etc. Puede obtener más
información sobre devoluciones de llamadas en la guía de Devolución de llamadas activas .
8 migraciones
Rails proporciona un lenguaje específico de dominio para administrar un esquema de base de datos llamado
migraciones. Las migraciones se almacenan en archivos que se ejecutan en cualquier base de datos compatible con
Active Record rake. Aquí hay una migración que crea una tabla:
class CreatePublications < ActiveRecord::Migration[5.0]
def change
create_table :publications do |t|
t.string :title
t.text :description
t.references :publication_type
t.integer :publisher_id
t.string :publisher_type
t.boolean :single_issue
t.timestamps
end
add_index :publications, :publication_type_id
end
end
Rails realiza un seguimiento de los archivos que se han comprometido con la base de datos y proporciona funciones de
reversión. Para crear realmente la tabla, la ejecutarías rails db:migratey la retrotraerías rails db:rollback,.
Tenga en cuenta que el código anterior es independiente de la base de datos: se ejecutará en MySQL, PostgreSQL,
Oracle y otros. Puede obtener más información acerca de las migraciones en la guía Migraciones de registros activos .
Realimentación
Le recomendamos que ayude a mejorar la calidad de esta guía.
Contribuye si ves errores tipográficos o de hechos. Para comenzar, puede leer nuestra sección de contribuciones de
documentación .
También puede encontrar contenido incompleto o cosas que no están actualizadas. Por favor, agregue cualquier
documentación faltante para el maestro. Asegúrese de verificar EdgeGuidesprimero para verificar si los problemas ya
están solucionados o no en la rama principal. Consulte las pautas de Ruby on Rails Guides para conocer el estilo y las
convenciones.
Si por algún motivo detecta algo que corregir pero no puede repararlo usted mismo, abra un problema .
Y por último, pero no menos importante, cualquier clase de discusión sobre la documentación de Ruby on Rails es muy
bienvenida en la lista de correo de rubyonrails-docs .