ActionMailerで送信するメールに、アプリにリンクする画像が含まれているようにしたい。私の開発環境では、例えば:
<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')
このトピックに関する多くの同様の質問は、次のようなことで答えられます。
"#{request.protocol}#{request.host_with_port}#{asset_path('image.png')}"
しかし、私のメールはSidekiqと非同期で送信request
されるため、コントローラーで同期的に送信された場合のようなオブジェクトはありません。
私が見逃している明らかなものはありますか、それともこれを行うためにRailsと戦う必要がありますか?Rails 4を使用していますが、3.1/3.2で動作するものはすべて問題なく動作するはずです。