我希望通過ActionMailer發送的電子郵件包含鏈接回我的應用程序的圖像。在我的開發環境,例如:如何獲取Rails異步郵件程序中圖像的完整URL?
<img src="http://myfullappurl.dev/assets/myimage.png">
我有這個在我的development.rb
config.action_controller.asset_host = 'myfullappurl.dev'
config.action_mailer.asset_host = config.action_controller.asset_host
config.action_mailer.default_url_options = { host: 'myfullappurl.dev', only_path: false }
但我不能讓我的郵件模板來呈現一個完整的URL中任何一種方式:
:asset_path('myimage.png')
asset_path('myimage.png', only_path: false)
image_url('myimage.png')
很多關於這一主題類似的問題被做這樣的事情回答
但是因爲我的郵件是與Sidekiq異步發送的,所以沒有request
對象,就像它們在控制器中同步發送一樣。
有沒有一個明顯的東西我失蹤了,還是我必須與Rails做鬥爭?我使用的是Rails 4,但我相信任何在3.1/3.2中工作的應該都可以。
謝謝。這是讓rails 4.1.1在HTML電子郵件中顯示完整圖像URL的解決方案。對SO的另一個低估的答案是 – 2014-06-23 22:28:19
。 也,我認爲它更好地使用https在大多數情況下不是開發環境。 – 2015-04-19 11:58:16
將協議添加到'action_controller.asset_host'時,我沒有遇到任何問題,不知道該行爲是否已更改。修復本身就像描述的那樣工作。 :) – lime 2015-06-30 11:29:14