2

完全な URL を含む画像を含む電子メールの HTML をレンダリングしようとしています。Rails 3.2 (アセット パイプライン) と Heroku を使用しています。私の問題がどこにあるのかわかりません。

このメソッドをアプリケーション ヘルパーに追加しました。

def image_url(source)
  "#{root_url[0..-2]}#{image_path(source)}"
end

email.html.erb で:

<img src="<%= image_url("images/email/logo.gif") %>" width="102" height="40">

しかし、電子メールは次のような結果になります。

http://assets/email/logo-64cb67810752117f1de94cbb1c57a146.png

これは、Heroku で root_url が空白になっていることを意味していると思いました。次のように production.rb ファイルに設定してみました。

config.action_controller.default_url_options = { host: "www.domainname.com" }

しかし、これはうまくいかないようです。

メールで完全な URL を含む画像を正しくレンダリングするにはどうすればよいですか?

4

3 に答える 3

2

使ってみて

Rails.application.routes.default_url_options[:host]= 'www.domainname.com'
于 2012-11-01T23:47:44.410 に答える
1

Rails4で

config/environments フォルダーには、3 つの環境固有のファイルがある場合があります。この構成を配置して、ドメインを設定できます。

config.action_mailer.asset_host = 'http://www.yourdomain.com'

于 2014-01-13T01:52:38.823 に答える
0

また、次のことができます。image_url('file.png', host: 'http://example.com')

于 2016-07-25T16:38:49.677 に答える