使用Devise 3和Rails 4将图像添加到确认电子邮件

Mic*_*Fin 1 image devise asset-pipeline devise-confirmable ruby-on-rails-4

我想使用Devise 3和Rails 4将图像添加到我的确认电子邮件中。

我试过了...

Views / Devise / Mailer / confirmation_instructions.html.erb

<%= image_tag("my_image.png") %>
Run Code Online (Sandbox Code Playgroud)

...但是图像显示为默认的占位符问号。

我应该如何正确访问资产?

pro*_*ils 5

还有另一种在Devise确认电子邮件中提供图像的方法-将其附加到信件上。

请参阅说明:

1.创建您自己的邮件:

app / mailers / my_devise_mailer.rb

class MyDeviseMailer < Devise::Mailer

  helper :application # gives access to all helpers defined within `application_helper`.
  include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
  default template_path: 'devise/mailer' # to make sure that your mailer uses the devise views

  def confirmation_instructions(record, token, opts={})
    attachments.inline['logo.jpg'] = File.read("app/assets/images/logo.jpg")
    super
  end

end
Run Code Online (Sandbox Code Playgroud)

2.在config / initializers / devise.rb中,设置config.mailer="MyDeviseMailer"

3.在您的app / views / devise / mailer / confirmation_instructions.html.erb中使用

<p><%= image_tag(attachments['logo.jpg'].url, width: '120', height: '120') %></p>
Run Code Online (Sandbox Code Playgroud)