5
嗨我想发送电子邮件到在文本字段中输入的所有电子邮件逗号地址。我有这样做的以下控制器。发送电子邮件到多个逗号分隔的电子邮件地址
def send_invites #friend invites
@emails_txt = params[:emails_txt]
@emails = @emails_txt.split(/\s*,\s*/)
@ve = []
@emails.each do |email|
if email =~ /\b[A-Z0-9._%a-z-][email protected](?:[A-Z0-9a-z-]+.)+[A-Za-z]{2,4}\z/
@ve << email
end
end
@all_ok = true
@errors = []
@ve.each do |email|
@invitation = Invitation.new
@invitation.sender = current_user
@invitation.recipient_email = email
if @invitation.save
UserMailer.invitation_notification(current_user, @invitation, new_user_registration_url+"/#{@invitation.token}").deliver
else
@all_ok = "false"
@errors << @invitation.errors
end
end
end
它工作正常,但现在它如下
NoMethodError in InvitationsController#send_invites
undefined method `username' for nil:NilClass
什么问题请大家帮我给错误。谢谢
嘿谢谢你的回复。我想你是对的。当我获取电子邮件地址列表时,我将退出登录状态,这就是为什么'current_user'变为零的原因。 –
这是因为我使用的是正常的html格式,而不是form_for的rails标签。使用form_for标签会自动将您的应用程序令牌包含在对安全性问题非常重要的表单中。 –