Inicialización de aplicaciones

Hola a todos. Quería saber cual es el mecanismo de Rails para la
inicialización de aplicaciones (cargar valores iniciales al arrancar la
aplicación). ¿Existe un método init o similar que se llame
automáticamente
en el ApplicationController, por ejemplo?

un saludo y gracias

On Sep 22, 2007, at 1:39 PM, Rafa C. wrote:

Hola a todos. Quería saber cual es el mecanismo de Rails para la
inicialización de aplicaciones (cargar valores iniciales al
arrancar la aplicación). ¿Existe un método init o similar que se
llame automáticamente en el ApplicationController, por ejemplo?

El lugar canonico donde poner cosas que quieres que se ejecuten al
arrancar la aplicacion es config/environtment.rb, por lo general al
final del fichero. Por ejemplo ahi tipicamente cargas configuracion
local, como un servidor SMTP, reapertura de clases:

class NilClass
def -@
nil
end
end

y cosas que tienen caracter “global” vamos a decir. Naturalmente
puedes romper esas cosas en .rbs separados y hacer requires ahi, pero
el lugar en ultima instancia es ese.

Si se trata de cosas que solo atañen a controladores entonces van en
ApplicationController a nivel de clase. Por ejemplo:

session :session_key => ‘_myapp_session_id’
session :off, :if => lambda { |req| robot?(req.user_agent) }

Pero salvo que fuerces la carga de un controlador ese codigo no se
ejecuta fuera de la aplicacion, ie script/console, script/runner,
etc. Por ello no es un lugar apropiado para cosas de caracter general.

– fxn

Entiendo que para lo que yo quiero sería definir un método en una clase
del
modelo (por ejemplo) y llamarlo desde environment.rb.