J'ai un formulaire_for dans un modèle new.html.erb où je fais la sauvegarde normale à la DB, puis un e-mail en cas de succès. Je veux que l'expéditeur envoie le même new.html.erb que le corps et transmette le modèle afin que le formulaire soit entièrement rempli. Je reçois l'erreur suivante:Réutilisation formulaire_for en vue d'un mailer erreurs sur la falsification
undefined method `protect_against_forgery?' for #<#<Class:0x000000049d7110>:0x000000049d4690>
Sur la ligne immédiatement après la balise form_for (car il est l'injection de l'étiquette jeton auth je pense). Est-ce que je peux contourner ceci pour que je puisse réutiliser le modèle dans l'expéditeur?
Voici ce que le code de mailer ressemble
class MaintenanceMailer < ActionMailer::Base
helper :application
def request_email(maintenance)
mail :to => maintenance.community.email, :subject => "Maintenance" do |format|
format.html { render :layout => 'default', :template => 'maintenance/new' }
end
end
end
J'ai essayé plus tôt et il me donne une autre erreur: ActionController :: InvalidAuthenticityToken Je souhaite que cette action vérifie l'authenticité d'une demande de page normale pour le formulaire. Dois-je envoyer quelque chose au contrôleur une fois que je suis dans l'expéditeur? Tout ce qu'il devrait faire est maintenant de rendre ce "nouveau" modèle sans retour au contrôleur. – jpfuentes2
Oui, c'est la partie "verify_authenticity_token" qui saute. La syntaxe pour le faire dans votre contrôleur (en haut) est: skip_before_filter: verify_authenticity_token,: only => [: my_form_action] –