Intro: En bref, cette action vous permet d'inviter plus d'utilisateurs par mail, il y a un champ où vous mettez vos emails et sur submit ils reçoivent tous des emails avec invitation par mail.extraire les objets qui n'ont pas passé les validations et les montrer dans les notifications
il existe une méthode dans le modèle qui valide l'e-mail sur project_invitation créer ainsi, l'insertion d'un type de mail invalide (comme: eee @ em, fff.com, bbb @ .com), Pinv ne seront pas sauvés et logger.error sera élevé ..
le problème: Comment puis-je extraire tous les e-mails qui n'ont pas réussi la validation et les afficher dans un avis, quelque chose comme "Invtations envoyé, à l'exception eee @ em, fff .com, bbb @ .com, les e-mails ne sont pas valides ".
Merci, si d'autres informations sont nécessaires, s'il vous plaît faites le moi savoir.
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
merci, fonctionne très bien. – rmagnum2002
Bon à entendre :) –