【发布时间】:2017-12-30 00:13:17
【问题描述】:
我正在尝试使用 Rails 5 中的 ActionMailer 从联系表单接收电子邮件。但我不确定如何将表单上创建的资源的参数发送到接收方法上的电子邮件并将其发送到应用程序。
控制器/contacts_controller.rb:
class ContactsController < ApplicationController
def index
@contact = Contact.new
end
def create
@contact = Contact.new(contact_params)
if @contact.save
DefaultMailer.receive(@contact).deliver
redirect_to root_path
else
render :new
end
end
private
def contact_params
params.require(:contact).permit(:name, :email, :subject, :body)
end
end
mailers/default_mailer.rb:
class DefaultMailer < ApplicationMailer
default from: "atendimento@lcasystems.com.br"
def receive(email)
mail.create(subject: email.subject, body: email.body)
end
end
它给出一个 500 服务器错误,并在接收器方法中为 nil:NilClass 显示未定义的方法 `humanize'。
【问题讨论】:
标签: ruby-on-rails actionmailer