現在、mail_form + simple_form gems を使用して、ユーザーが自分のサイトで「お問い合わせ」フォームを送信した後、自分にメールを送信しています。次に、フィールドをデータベースにも送信します。ここではすべて正常に動作しています。
送信後、「ありがとう」メッセージとその他のコピーを含む 2 番目のメールをユーザーのメール アドレスに送信できるようにしたいと考えています。メッセージをフラッシュで投稿できることは知っていますが、私の場合はユーザーへの電子メールの方が適しています。
以下のコードに基づいてこれを行う方法について、誰かがガイダンスを提供してもらえますか? ありがとう!
モデル: page.rb
class Page < ActiveRecord::Base
include MailForm::Delivery
attribute :name, :validate => true
attribute :company
attribute :email, :validate => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
attribute :message
attribute :nickname, :captcha => true
def headers
{
:subject => "New Lead from Composites First",
:to => "myemail@myemail.com",
:from => "myemail@myemail.com"
}
end
end
コントローラー: pages_controller.rb
class PagesController < ApplicationController
def index
end
def basicform
@page = Page.new
end
def create
@page = Page.create(page_params)
if @page.save
respond_to do |format|
format.html { redirect_to '/' }
format.json { }
end
else
respond_to do |format|
format.html { }
format.json { }
end
end
@page.request = request
if @page.deliver
else
flash[:error] = 'Cannot send message.'
format.html { redirect_to '/' }
end
end
private
def page_params
params.require(:page).permit(:name, :company, :email, :message)
end
end