イントロ:要するに、このアクションでは、より多くのユーザーをメールで招待できます。メールを送信するフィールドがあり、送信すると、すべてのユーザーにメールで招待されたメールが届きます。
model_invitation createの電子メールを検証するメソッドがモデルにあり、無効な電子メールタイプ(eee @ em、fff.com、bbb @ .comなど)を挿入すると、pinvは保存されず、logger.errorが発生します。 ..
問題:検証に合格しなかったすべての電子メールを抽出し、「eee @ em、fff.com、bbb @ .com、電子メールが無効です。を除いて、送信された招待状」などの通知に表示するにはどうすればよいですか。
他に情報が必要な場合はお知らせください。
def invite_users
emails = params[:project_invitation][:emails]
role = current_user.has_role?(:admin, @project) ? :admin : :default
emails.to_s.split(',').each do |email|
pinv = ProjectInvitation.new(params[:project_invitation], as: role)
pinv.sender = current_user
pinv.recipient_email = email
pinv.recipient = nil
pinv.project = @project
if pinv.save
ProjectMailer.delay.invitation(pinv)
else
logger.error("Failed to save project inv: #{pinv.errors.full_messages.join("\n")}")
end
end
end