今現在、私は、登録の際にアップロードしたファイルをメールで送れるようにしたいと考えています。しかし、メールで文字は送ることはできるのですが、アップロードしたファイルの画像だけが送ることができない状態にあります。まず、attachments['ファイル名'] = File.read('ファイルのフルパス')を使いたいと思っているのですが、ファイル名とファイルのパスがわからない状態にあります。もしわかる方がいらしたら、教えて頂きたいです。
・トライ&エラーしたこと
<%= image_tag(@user.student_license.thumb.url) %>
????
new.html.erb ユーザー登録
view
1<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 2 <%= render "devise/shared/error_messages", resource: resource %> 3 4 <div class="field"> 5 <%= f.email_field :email, placeholder: "メールアドレス", class: "email", autofocus: true, autocomplete: "email" %> 6 </div> 7 8 <div class="field"> 9 <%= f.password_field :password, placeholder: "パスワード", class: "email", autocomplete: "new-password" %> 10 </div> 11 12 <div class="field"> 13 <%= f.password_field :password_confirmation, placeholder: "パスワード確認", class: "email", autocomplete: "new-password" %> 14 </div> 15 16 <div class="field"> 17 <%= f.text_field :nickname, placeholder: "ニックネーム", class: "email", autocomplete: "new-password" %> 18 </div> 19 20 <div class="field"> 21 <%= f.file_field :student_license, class: "st" %> 22 </div> 23 24 <div style= "margin: 5px;" class="chek-g"> 25 <%= f.check_box :accepted , required: true %> 26 <a class="ac" href="/guiders/:id/accepted">利用規約、及び、個人情報の取扱に同意する </a> 27 </div> 28 29 <div class="actions field"> 30 <%= f.submit "同意して新規作成", class: "new_user" %> 31 </div> 32 33<% end %>
user_mailer.rb
mailer
1class UserMailer < ApplicationMailer 2 default from: "################" 3 layout 'mailer' 4 5 def new_registration_confirmation_mail(user) 6 7 @user = user 8 attachments['ファイル名'] = File.read(Rails.root.join('ファイルのフルパス')) 9 10 mail( 11 to: '<################>', 12 subject: '添付ファイルの確認' 13 ) 14 end 15 16end
view
1<!doctype html> 2<html lang="ja"> 3 <head> 4 <meta content="text/html; charset=UTF-8" /> 5 </head> 6 <body> 7 <h2><%= @user.nickname %> 様</h2> 8 <hr /> 9 <p>学生証確認 10 <%= image_tag attachments['#######'].url %> 11 <p> 12 <%= @user.nickname %>さまの添付ファイル確認をお願いします。確認出来次第、確認ボタンを押してください。そして、このメールアドレスに連絡をお願いします。⇨<%= @user.email %> 13 </p> 14 <hr /> 15 </body> 16</html>
あなたの回答
tips
プレビュー