Docs Menu
Docs Home
/ /

Integración de Rails

En esta guía, aprenderá sobre las funciones que se habilitan automáticamente al usar Mongoid en una aplicación Ruby on Rails. También describe las funciones relacionadas con Rails que puede habilitar en su aplicación.

Puede configurar opciones específicas de Mongoid y otras opciones específicas del entorno Rails en el archivo de aplicación principal accediendo a config.mongoidEl generador mongoid:config crea un inicializador en el archivo config/initializers/mongoid.rb.

Nota

Las opciones establecidas en el archivo config/mongoid.yml prevalecen sobre las establecidas en otros lugares. Por este motivo, utilice mongoid.yml como ubicación predeterminada para la configuración de Mongoid siempre que sea posible.

Para obtener más información sobre todas las opciones de configuración disponibles, consulte la Guíasde configuración.

El siguiente código demuestra cómo crear un registrador Rails accediendo a config.mongoid:

module MyApplication
class Application < Rails::Application
config.mongoid.logger = Logger.new(STDERR, :warn)
end
end

Para obtener más información sobre la configuración de registro, consulte la guía de configuración de registro.

Para configurar la herencia de una sola colección, Mongoid debe precargar todos los modelos antes de cada solicitud en el modo de desarrollo. Esto puede ralentizar la aplicación, por lo que si no utiliza ninguna herencia, puede desactivar esta función.

El siguiente código demuestra cómo desactivar la precarga configurando la función preload_models en false:

config.mongoid.preload_models = false

Al igual que Active Record, Mongoid configura Rails para convertir automáticamente ciertas excepciones en códigos de estado HTTP. La siguiente lista muestra las conversiones entre excepciones de Mongoid y códigos HTTP:

  • Mongoid::Errors::DocumentNotFound:Convertido a 404 Not Found

  • Mongoid::Errors::Validations:Convertido a 422 Unprocessable Content

Mongoid puede generar el tiempo empleado en ejecutar comandos de base de datos en el evento de instrumentación de Rails process_action.action_controller. Mongoid obtiene estos valores mediante la monitorización de comandos del controlador. La aplicación registra este tiempo con el tiempo de visualización, como se muestra en la siguiente salida:

Completed 200 OK in 2739ms (Views: 12.6ms | MongoDB: 0.2ms)

Este registro se configura automáticamente en tu aplicación Rails.

Nota

Cálculo de tiempo

El tiempo indicado en las entradas del registro corresponde al tiempo que la implementación de MongoDB tarda en ejecutar operaciones, además del tiempo que tarda en enviar comandos y recibir resultados del servidor MongoDB. No incluye el tiempo que tardan el controlador y Mongoid en generar las consultas, convertir tipos o procesar los resultados.

Puedes usar las siguientes tareas rake de Mongoid cuando utilices el marco Rails:

  • db:create_indexes: Lee todas las definiciones de índice de los modelos e intenta crearlas en la base de datos

  • db:remove_indexes:Elimina índices para cada modelo

  • db:drop: Elimina todas las colecciones en la base de datos excepto las colecciones del sistema

  • db:purge: Elimina todos los datos, incluidos los índices, de la base de datos

  • db:seed: Siembra la base de datos desde el archivo db/seeds.rb

  • db:setup:Crea índices y siembra la base de datos

Las siguientes tareas de rake existen únicamente para fines de dependencia del marco y no realizan ninguna acción:

  • db:test:prepare

  • db:schema:load

  • db:create

  • db:migrate

Para obtener información sobre cómo configurar una nueva aplicación Rails que use Mongoid, consulte la guía Integrar Mongoid con Ruby on Rails.

Para saber cómo agregar Mongoid a una aplicación Rails existente, consulte la sección Aplicación Rails de la guía Agregar Mongoid a una aplicación existente.

Volver

Agregar Mongoid a una aplicación existente

En esta página