2016-05-06 32 views
5

Voglio inserire la mia conf di chargify all'interno dell'inizializzatore, ma ho trovato che l'inizializzatore non verrà eseguito nei miei binari c, c'è un modo per richiamare i miei inizializzatori così posso test nella mia console?Viene chiamato l'inizializzatore di Rails quando eseguo la console rails

Chargify.configure do |c| 
     c.api_key = "0JEg9MrZEAqfEB7srvz0wH9q600dSxlUkM7DB7DnG8c" 
     c.subdomain = "test-site" 
    end 
+2

ogni file nella directory 'initializers' deve essere eseguito automaticamente da Rails. Che hanno anche effetto sulla console – illusionist

risposta

3

Sì, ogni file .rb in config/initializers è eseguire ogni volta che si esegue la console, eseguire un compito rastrello, o eseguire i test. In aggiunta, la configurazione dell'ambiente (config/environments) viene eseguita prima degli inizializzatori.

+0

Esiste comunque un modo per evitare questo comportamento, in modo da eseguire solo il codice di inizializzazione all'avvio del server, ma non all'avvio della console, ecc.? – Reinier

+0

@Reinier usa una variabile di ambiente. –

3

Il config/initializers verrà eseguito, ma solo una volta, al caricamento iniziale. Quindi, se stai apportando modifiche a config/initializers mentre la console è in esecuzione, non vedrai i risultati di tali modifiche.

La soluzione migliore è quella di arrestare e riavviare rails c

Inoltre, se si utilizza la primavera che a volte impedisce initializers cambiato da ricaricare. in tal caso fare spring stop prima di riavviare la console.

+2

Il motivo per cui ero dubbioso è che quando voglio registrare il personale nei file degli inizializzatori usando "p 'caricato?" ", non viene sempre visualizzato, anche quando esco e quindi apro la console di Rails. – user1883793