【发布时间】:2017-01-17 11:20:47
【问题描述】:
以下是我的控制器文件:
class BiodataController < ApplicationController
def store
@user=params[:username]
@age=params[:age]
@gender=params[:gender]
@mstatus=params[:mstatus]
@language=params[:language]
@email=params[:email]
@mobile=params[:mobile]
if params[:username].present? && params[:age].present? && params[:gender].present? && params[:mstatus].present? && params[:language].present? && params[:email].present? && params[:mobile].present?
Biodatum.create(name: @user, age: @age, gender: @gender, mstatus: @mstatus, language: @language, email: @email, mobile: @mobile)
Infomail.sendmail(@email)
render 'store'
else
render 'Error'
end
end
end
我的要求是将电子邮件发送到存储在@email 中的地址。所以我将邮件程序创建为“Infomail”。以下是我的邮件文件。
class Infomail < ApplicationMailer
default from: 'abc@xyz.co.in'
def sendmail(user)
@user = user
mail(to: @user.email, subject: 'sample mail')
end
end
而且我在“app/views/infomail/sendmail.html.erb”下也有 html 文件。但它不起作用。任何人都可以解释我的错误是什么 我的代码。
【问题讨论】:
-
Infomail.sendmail(@email)在这里您创建了电子邮件,但从不对其进行任何操作。试试这个:Infomail.sendmail(@email).deliver_now。此外,请检查环境配置中的电子邮件配置。
标签: ruby-on-rails ruby ruby-on-rails-4 model-view-controller actionmailer