HTMLメールで画像を載せる [rails][初心者]


HTMLメールに画像を載せたい

すでにメール送信はできるけど、画像がうまく表示されない

これを記述する

mailer.rb
attachments.inline['画像file名'] = File.read('app/assets/images/画像file名')

おそらくここの部分'app/assets/images/画像file名'
はpublic配下とかでも大丈夫だと思います。

mailer.rb

def send_when_creater(user)
    attachments.inline['vegetable.png'] = File.read('app/assets/images/vegetable.png')
    @user = user
    mail to: user.email,subject: "こんにちは"
  end
end

mailer view

画像を表示したいところに記述しましょう

html.erb
省略
<body>
  <%= image_tag attachments['vegetable.png'].url, alt: 'Vegetable' %>
</body>

メール結果

うまく表示できました。
いろいろな記事を参考にしましたが、railsガイドを参考にしています。
もっと綺麗な方法やhelperを使ったやり方もあるみたいなので、参考にしたいと思いました。