我有一个带有以下代码的控制器操作:
class ContentsController < ApplicationController
def index
end
def submit
end
def input_data
if browser.device.mobile?
@mobile = true
else
@mobile = false
end
@keyword = params[:keyword]
@ip = request.ip
Visitor.create(:template => @template,...., :screenh => @screenh)
end
def update
@visitor = Visitor.order("created_at").last
if @visitor.update(visitor_params)
InquiryMailer.inquiry(@visitor).deliver_now
render json: @visitor
else
flash[:alert] = "Unsuccessful - Contact Us By Phone."
end
end
private
def visitor_params
params.require(:visitor).permit(:name, :email, :message, :phone)
end
end
一个看起来像这样的邮件程序..
class InquiryMailer < ApplicationMailer
default from: "admin@example.com"
def inquiry(user)
@user = user
@user.keyword = 'New Inquiry' unless @user.keyword
mail(from: 'admin@example.com',
subject: @user.keyword.titleize,
to: 'richard@example.com',
reply_to: @user.email)
end
end
我正在尝试确定为什么我的Rails 5应用程序两次发送查询电子邮件。为了给出一些背景知识,input_data
操作在加载页面后运行,并且在提交表单时运行更新操作。日志清楚地显示了两封电子邮件,但我无法弄清楚原因。
谢谢。