【问题标题】:Form data not being sent in the email未在电子邮件中发送表单数据
【发布时间】:2015-05-27 02:44:08
【问题描述】:

下面是我基本上只是模仿的代码。一个专业的网络开发人员制作了这个网站,所以我只是按照他们是怎么做的。但是,由于某种原因,数据没有在电子邮件中发送。但是,电子邮件确实发送了。

控制器文件

def createproject
@title = "Create Your Project"
@txtname = params[:txtname]
@txtemail = params[:txtemail]
@txtdates = params[:txtdates]
@tname = params[:tname]
@txtleader = params[:txtleader]
@txttree = params[:txttree]
@txtsolar = params[:txtsolar]
@txtwater = params[:txtwater]
@txtgoats = params[:txtgoats]
@txtkids = params[:txtkids]
@txthouse = params[:txthouse]
@txtroof = params[:txtroof]
@txtlatrine = params[:txtlatrine]
@txtbuild = params[:txtbuild]
if !@txtname.nil? && @txtname != '' 
  @isvalid = true
  @data = {
    :txtname => @txtname,
    :txtemail => @txtemail,
    :txtdates => @txtdates,
    :tname => @tname,
    :txtleader => @txtleader,
    :txttree => @txttree,
    :txtsolar => @txtsolar,
    :txtwater => @txtwater,
    :txtgoats => @txtgoats,
    :txtkids => @txtkids,
    :txthouse => @txthouse,
    :txtroof => @txtroof,
    :txtlatrine => @txtlatrine,
    :txtbuild => @txtbuild
  }
end
if @isvalid
  ContactUsMailer.createproject_mail(@data).deliver
  respond_to do |format|
    format.html {render :layout=>"homeLayout"}
  end
else
  respond_to do |format|
    format.html {render :layout=>"homeLayout"}
  end
end
end

邮件文件

def createproject_mail(data)

@data = data

@txtname = @data[:txtname]
@txtemail = @data[:txtemail]
@txtdates = @data[:txtdates]
@tname = @data[:tname]
@txtleader = @data[:txtleader]
@txttree = @data[:txttree]
@txtsolar = @data[:txtsolar]
@txtwater = @data[:txtwater]
@txtgoats = @data[:txtgoats]
@txtkids = @data[:txtkids]
@txthouse = @data[:txthouse]
@txtroof = @data[:txtroof]
@txtlatrine = @data[:txtlatrine]
@txtbuild = @data[:txtbuild]

mail(:to => "jacob@fusionbible.com", :subject => "TEST", :from => "no-reply@mohhaiti.org")
end

【问题讨论】:

  • @isvalid 的值是否为真?
  • @neo isvalid 为真,因为此代码发送电子邮件但没有数据。
  • 老实说,我不确定自己做错了什么。有什么想法吗?
  • @jworth 你能分享你的电子邮件模板吗?
  • 终于弄清楚我做错了什么。它与那些文件无关。有一个 html 文件,其中包含应该在电子邮件中发送的所有值。该文件名为 createproject_mail.html.erb.html。我必须解决命名问题。

标签: html ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4


【解决方案1】:

把它放在 application_helper.rb 中

def humanize_checkbox(val)
  (val && 'on' == val.downcase) ? 'Yes' : 'No'
end

将此添加到您的邮件程序类中。 helper :application

并为视图中的复选框调用它

<%=humanize_checkbox(@txttree)%>

【讨论】:

  • 请在您的邮件类中添加helper :application
猜你喜欢
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
  • 2016-01-12
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
相关资源
最近更新 更多