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:
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.