Jak uzyskać pełny adres URL do obrazu w asynchronicznym programie pocztowym Rails?

Chcę otrzymywać e-maile, które wysyłam za pomocą ActionMailera, zawierające obrazy, które odsyłają do mojej aplikacji. W moim środowisku programistycznym, na przykład:

<img src="http://myfullappurl.dev/assets/myimage.png">

Mam to w moim rozwoju.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 }

Ale nie mogę uzyskać szablonów poczty do renderowania pełnego adresu URL w żaden z następujących sposobów:

asset_path('myimage.png')
asset_path('myimage.png', only_path: false)
image_url('myimage.png')

Odpowiedzi na wiele podobnych pytań na ten temat udziela się w następujący sposób:

"#{request.protocol}#{request.host_with_port}#{asset_path('image.png')}"

Ale ponieważ moje maile są wysyłane asynchronicznie z Sidekiq, nie marequest obiekt taki, jak gdyby był wysłany synchronicznie w kontrolerze.

Czy brakuje mi oczywistej rzeczy, czy muszę walczyć z Railsami, aby to zrobić? Używam Rails 4, ale jestem pewien, że wszystko, co działa w 3.1 / 3.2, powinno być w porządku.

questionAnswers(3)

yourAnswerToTheQuestion