2012-08-17 38 views
0

我知道這已被看到很多次,但我不明白我做錯了什麼。我試圖通過rake任務發送郵件,並且我得到了這個錯誤通過rake任務發送郵件:缺少主機鏈接到

沒有主機鏈接到!在staging環境(託管在Heroku)only_path真

:請提供:主機參數,設置default_url_options [:主機],或設置。有什麼困擾我的是,當我啓動一個控制檯時,我可以毫無麻煩地發送郵件。在開發過程中,我無需通過rake任務直接發送郵件。

您可以在this gist中看到環境文件,郵件程序類和rake任務。我真的不明白我在這裏做錯了什麼。

非常感謝您的時間!

回答

0

當我得到這個時,我必須把:host的值放在production.rb的App :: Application.configure塊中。

我不知道這是否可以轉化爲heroku。

在production.rb,加配置塊內的以下內容:

config.action_mailer.default_url_options = { 
    :host => "your-domain.com" 
    } 

如果這必須是變量(Heroku的),你很可能在這裏使用的環境變量。

+0

這就是我爲'staging'環境所做的 – ksol 2012-08-17 07:56:18

+0

您是否有可能在暫存環境中運行rake任務? – seanyboy 2012-08-17 07:58:16

+0

根據'heroku config','RACK_ENV'&'RAILS_ENV'都被設置爲'staging'。我用'heroku run RAILS_ENV =登臺耙郵件:congrats --trace'自己跑耙子任務,但不幸運。 – ksol 2012-08-17 08:00:42

0

作爲解決方法,我在每個使用url_for的方法中指定主機。幸運的是,只有兩個電話,但如果有人知道更好,我想知道答案。

相關問題