Xin chào, tôi muốn gửi email đến tất cả địa chỉ email được nhập trong trường văn bản. Tôi có sau bộ điều khiển để làm như vậy.Gửi email đến nhiều địa chỉ email được phân tách bằng dấu phẩy
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
Nó đã làm việc tốt nhưng bây giờ nó được đưa ra lỗi như sau
NoMethodError in InvitationsController#send_invites
undefined method `username' for nil:NilClass
whats vấn đề xin vui lòng giúp tôi. Cảm ơn bạn
Xin cảm ơn vì đã trả lời. Tôi nghĩ bạn đúng. Tôi nhận được đăng xuất khi tôi lấy danh sách địa chỉ email và đó là lý do tại sao 'current_user' trở thành không. –
Đó là vì tôi đã sử dụng mẫu html bình thường thay vì thẻ form_for của đường ray. Việc sử dụng thẻ form_for sẽ tự động bao gồm mã thông báo ứng dụng của bạn trong biểu mẫu có tầm quan trọng lớn liên quan đến các vấn đề bảo mật. –