J'ai essayé d'accéder à des méthodes d'aide à partir d'un mailer rails 3 afin d'accéder à l'utilisateur actuel pour la session.
J'ai placé l'aide :application dans ma classe mailer, ce qui semble fonctionner, sauf que les méthodes qui y sont définies ne sont pas disponibles pour mon mailer (je reçois des erreurs non définies). Quelqu'un sait-il comment cela est censé fonctionner ?
Voici ma classe :
class CommentMailer < ActionMailer::Base
default :from => "Andre Fournier <andre@gfournier.com>"
helper :application
end
Merci, Sean
0 votes
Pouvez-vous également inclure votre code et la définition de votre méthode pour obtenir l'utilisateur actuel ?
0 votes
Bien sûr, c'est ici (la référence dans le courrier) :
:from => "#{current_sender.name} <#{current_sender.email}>"
et la définition :def current_sender current_user end
0 votes
Je veux dire, avez-vous current_user défini dans une méthode d'aide ou dans le contrôleur de votre application et si oui, quelle est la définition ?
0 votes
Dans cette application, current_user est une méthode d'aide fournie par Devise. Cependant, lorsque j'appelle current_sender, que j'ai définie dans mon fichier application_helper, j'obtiens une erreur non définie. Le problème ne concerne pas current_user car il n'est jamais appelé.
0 votes
Ma suggestion serait d'ajouter un alias à current_user à partir de current_sender dans votre classe CommentMailer au lieu d'inclure l'aide entière. Si cela ne fonctionne pas, vous devrez rendre current_user disponible dans votre classe CommentMailer. Il est préférable de le faire car cela ne nécessite pas d'inclure un module d'aide complet.
0 votes
Merci. Je vais essayer de trouver un moyen de rendre current_user disponible à la classe CommentMailer, mais jusqu'à présent, c'est précisément ce que j'ai été incapable de faire.
0 votes
Pourquoi ne pas assigner current_user à une variable d'instance dans votre/vos méthode(s) mailer ?
@current_sender = current_user
? Utilisez ensuite la variable dans vos vues.0 votes
Similaire - amolnpujari.wordpress.com/2013/12/27/