devise Mailer テンプレートから呼び出そうとしてimage_tag "image.jpg"
いますが、電子メールが送信されたため、画像へのパスが電子メールで壊れているように見えます。(絶対URLを含めないため)。
これを解決するための最良のアイデアは何ですか?
devise Mailer テンプレートから呼び出そうとしてimage_tag "image.jpg"
いますが、電子メールが送信されたため、画像へのパスが電子メールで壊れているように見えます。(絶対URLを含めないため)。
これを解決するための最良のアイデアは何ですか?
Rails 4 で最も簡単な方法は、以下を追加することです。
config/environments/development.rb
config.action_mailer.asset_host = " http://localhost:3000 "
config/environments/production.rb
config.action_mailer.asset_host = " http://yourdomain.com "
電子メールは Web サーバーでホストされるページではなく、アプリケーションによって smtp または他のメール サーバーに中継されるだけなので、これは基本的に、メール アセットをホストしている場所を Rails サーバーに伝えます。また、ほとんどの場合、メール アセットをレールから、具体的にはレールが使用する同じアセット パスから提供したいと考えています。
これを行うと、image_tag を使用するだけで画像にアクセスできます。
リンクを作成するのと同じ方法で、メーラーに :host 属性を設定できます。
グローバルに実行するには、環境構成内で次のように実行できます
config.action_mailer.default_url_options = { :host => "example.com" }
http://api.rubyonrails.org/classes/ActionMailer/Base.htmlをご覧ください
詳細については