EDIT: C'est le code de travail que je suis venu de la réponse de Thomas, il y avait d'autres erreurs qui devaient être corrigées aussi bien.Déclencheur ActionMailer de JSON POST
Je travaille avec un serveur API Rails configuré pour créer des liens partagés pour les utilisateurs. Je l'ai mis en place de sorte qu'ils passent un certain nombre de paramètres via POST
et je veux envoyer les expéditeurs, puis enregistrer l'enregistrement. Je suis en mesure de sauvegarder le dossier, mais je n'arrive pas à déclencher les expéditeurs.
Voici l'action create sur le contrôleur
def create
@recipients = (share_params[:shared_with])
@recipients.each do |recipient|
ShareMailer
.share_dealsheet(recipient)
.deliver_now
end
@share = current_user.shares.create!(share_params)
json_response(@share, :created)
end
Et la classe ShareMailer
class ShareMailer < ApplicationMailer
default from: '[email protected]'
def share_dealsheet(recipient)
@recipient = recipient
mail(to: @recipient, subject: "Test")
end
end
Il y a aussi un modèle de texte standard enregistré en tant que share_dealsheet.rb
Si je POST
ce qui suit dans Postman , l'enregistrement est enregistré, mais aucun mailer n'est jamais déclenché (donc je suppose que les autres mailers que j'utilise la sortie dans la console comme ils sont créés).
{
"token": "Sbdvmvt2VnzO0n3_thGSfZc1xkjs",
"shared_with":{
"1": "[email protected]",
"2": "[email protected]"
},
"expiry": "30 June 2017"
}
Si simple, je vous remercie! J'ai réalisé après cela qu'il y avait un problème avec la boucle, mais c'est aussi corrigé dans l'édition ci-dessus. – oneWorkingHeadphone