Desidero memorizzare le informazioni dell'account e-mail in un file config.yml. Sto caricando tali informazioni in una costante in un file di configurazione/inizializzatori Rails seguendo uno schema comune che ho visto online e delineato at this RailsCast. Sto cercando di impostare i valori predefiniti per Action Mailer usando config.action_mailer.smtp_settings all'interno del file config/application.rb, seguendo un esempio su Mat Harvard's Blog. Continuo a ricevere errori costanti non inizializzati all'avvio del mio server dei binari. Suppongo che application.rb venga chiamato prima dei config/inizializzatori. C'è un'altra posizione in cui posso impostare config.action_mailer.smtp_settings durante l'avvio, ma dopo l'esecuzione di config/inizializzatori?Come impostare i valori predefiniti di Action Mailer dopo l'esecuzione di config/inizializzatori?
Aggiornamento: Forse non sono stato chiaro nel mio post/domanda iniziale. Sto leggendo il file config.yml in un inizializzatore. Questo file di configurazione memorizza informazioni sull'account di posta elettronica come nome utente e password. Non voglio inserire queste informazioni (nome utente e password) nei file application.rb o environment.rb. Ho provato a spostare il mio codice nel file environment.rb, ma ho riscontrato lo stesso errore costante non inizializzato all'avvio delle rotaie.
Il mio codice per impostare le impostazioni mailer di azione simile a questa:
config.action_mailer.smtp_settings = {
:address => APP_CONFIG[:email_config][:address],
:port => APP_CONFIG[:email_config][:port],
:domain => APP_CONFIG[:email_config][:email_domain],
:user_name => APP_CONFIG[:email_config][:user_name],
:password => APP_CONFIG[:email_config][:password],
:authentication => :plain,
:enable_starttls_auto => true
}
config.action_mailer.default_url_options = {
:host => APP_CONFIG[:email_config][:host]
}
che sto leggendo dal file config.yml per impostare la costante APP_CONFIG in un inizializzatore load_config.rb. Questo file contiene le 2 righe sotto:
raw_config = File.read(RAILS_ROOT + "/config/config.yml")
APP_CONFIG = YAML.load(raw_config)[RAILS_ENV]
sto cercando di evitare di mettere il nome utente e la password in entrambi i application.rb oi file environment.rb. Ho aggiornato la mia domanda/post originale per includere esempi di codice. Il codice di configurazione che hai fornito sopra non era nell'inizializzatore: era in application.rb. Solo il codice da leggere nel mio file config.yml era nell'inizializzatore. –
Quindi hai caricato l'inizializzatore prima di visualizzare i file dell'ambiente? – xecutioner