こんにちは。現在Railsでメール送信プログラムを作成しております。
今まで問い合わせフォームの作成は行なったことがあり、今回はform入力等を行わず、既に各idに入っている@customer.mailのメールアドレス宛にワンクリックでテンプレートメールを送りたいと考えております。
それを実施している中で、序盤なのですが、showからメール送信を行う際の記述の仕方がわからずconfirm(内容確認)に進む事が出来ません。
以下、プログラムとなります。ご教示よろしくお願い致します。
resources :customers do collection do get :confirm post :thanks end end
def show @customer = Customer.find(params[:id]) end def confirm @customer = Customer.find(params[:id]) if @customer.valid? render :action => 'confirm', notice: 'メッセージが送信されました。' else render :action => 'index', notice: 'メッセージが送信出来ませんでした。' end end def thanks @customer = Customer.find(params[:id]) CustomerMailer.received_email(@customer).deliver CustomerMailer.send_email(@customer).deliver end
class CustomerMailer < ActionMailer::Base default from: "info@sample.com" def received_email(customer) @customer = customer mail to: "info@sample.com" mail(subject: 'メールを送信しました。') do |format| format.text end end def send_email(customer) @customer = customer mail to: customer.mail mail(subject: '依頼について') do |format| format.text end end end
ReceivedEmail
1<%= @customer.mail %> にメールを送信しました。
SendEmail
1<%= @customer.mail %> にメールを送信しました。
あなたの回答
tips
プレビュー