Rails UserMailer发送表单参数

时间:2013-08-19 11:04:15

标签: ruby-on-rails forms mailer

我有一个将参数保存到CSV中的表单,但我也希望在电子邮件中发送参数,始终发送到同一地址。我目前有以下内容:

邮件收发器

def notification_email(partner)

  @partner = partner   

  mail(:subject => "Partner Application", :to => "example@example.com")

end

控制器

partner = Hash.new

params.each do |k, v|

  partner[k] = v

end

UserMailer.notification_email(@partner).deliver
format.html { redirect_to :controller => 'general', :action => 'partnerApplyThanks'}
format.json { render :json => @partner, :status => :created, :location => @partner }

邮件程序视图

<table>
    <tr>
        <td>Name</td>
        <td><%= @partner[:first_name] %></td>
    </tr>

</table>

但是我收到了这个错误:

undefined method '[]' for nil:NilClass

参考邮件视图的这一部分:

<td><%= @partner[:first_name] %></td>

1 个答案:

答案 0 :(得分:0)

结束了这个:

<强>邮件收发器

def notification_email(params)

@partner = params

mail(:to => "example@example.com", :subject => "Partner Application" )

end

<强>控制器

UserMailer.notification_email(params).deliver

邮件程序视图

<td>Forename:</td><td> <%= @partner[:first_name]%></td>