Lo stesso errore si verifica sulla mia ogni volta che corro rspec spec/
L'intero errore è in realtà:
Failure/Error: @user = Factory(:user)
ActionView::Template::Error:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
# ./app/views/devise/mailer/confirmation_instructions.html.erb:5:in `_app_views_devise_mailer_confirmation_instructions_html_erb__980323237__638702928'
# ./spec/models/campaign_spec.rb:21
la seguente riga:
# ./app/views/devise/mailer/confirmation_instructions.html.erb:5:in `_app_views_devise_mailer_confirmation_instructions_html_erb__980323237__638702928'
in realtà mi ha dato il suggerimento che escogitare è quello che lancia l'errore.
venuto fuori che non ho impostato
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
a config/environments/test.rb
(solo in development.rb)
Aggiunta l'opzione di configurazione sgomberato gli errori sulla mia. Sospetto che tu stia utilizzando altre gemme che richiedono lo stesso set di opzioni.
non sto usando ideare, e ho avuto la stesso errore quando stavo cercando di usare qualcosa_url invece di qualcosa_path in una delle mie visualizzazioni mailer - perché actionmailer non ha idea di che tipo di ambiente sia in esecuzione. La tua soluzione funziona, ma volevo solo chiarire che non è causata da ideare. – Oranges13
@ Oranges13: 6 mesi dopo e posso vedere chiaramente che non è concepito che causa l'errore, è solo che è passato attraverso le viste di 'ideazione'. Sono felice di aver documentato il mio intero processo di debug, mi ha fatto capire quanto Rails ho imparato. – Rystraum
@Rystraum Potrei risolvere il problema con la tua soluzione. Tuttavia, partendo dal presupposto che il tuo modello Utente includa il modulo ': confirmable' di Devise nella definizione di fabbrica per l'attributo': user' confirm_at confermato nel modo seguente 'confirmed_at {Time.now}' impedisce l'errore * Mancante host ... *. Tuttavia, l'impostazione di un host predefinito è necessaria quando il nostro codice implica la generazione di URL assoluti per i collegamenti. Grazie. –