2010-11-02 22 views
6

Quiero obtener configuraciones de configuración para un módulo, y me dijeron que use un inicializador para esto.¿Cómo crear mi propio inicializador para un módulo?

¿Alguien me puede mostrar cómo hacerlo y cómo haré referencia a la configuración del inicializador?

+1

No entiendo la pregunta. ¿Desea saber cómo un complemento/gema puede agregar algunas opciones/parámetros de configuración en el objeto de configuración Rails? –

Respuesta

11

La función de inicialización de Ruby on Rails le permite ejecutar bits de código arbitrarios después de que la aplicación principal se haya cargado pero antes de que se hayan procesado las páginas. Estas son cosas de una sola vez, también, y la aplicación debe reiniciarse si se cambian algunas.

Si desea configurar o reconfigurar un módulo, simplemente hágalo. No hay nada lujoso requerido. Por lo general se ven algo como esto:

# config/initializers/mymodule.rb 
MyModule.widgets_per_second = 100 
MyModule.reject_invalid_foobars = true 

Depende de lo que está tratando de configurar, por supuesto. Puede declarar extensiones a clases, cargar módulos adicionales, cualquier cosa que pueda ser necesaria para que su aplicación funcione correctamente.

En general, no es correcto cargar forzadamente un complemento o gema que no se cargó automáticamente, pero como sucede con todo, a veces es necesario romper las reglas para que la aplicación funcione.

+0

bien, así que solo agrego propiedades como las que hizo, ¡bastante sencillo gracias! – Blankman

+0

Si tiene un módulo personalizado, deberá definirlo con 'mattr_accessor' o tener métodos definidos como' widgets_per_second = ', pero esa es la idea general. La mayoría de las gemas o complementos tienen este tipo de capacidad de configuración. – tadman

Cuestiones relacionadas