Je tente d'envoyer un courriel à l'emprunteur actuel d'un livre. J'ai créé un ActionMailer appelé ReturnRequestMailer qui a une méthode appelée please_return.Invoquer une action pour envoyer un courriel en ruby sur rails
class ReturnRequestMailer < ActionMailer::Base
def please_return(book_loan)
subject 'Book Return Request'
recipients book_loan.person.email
from '[email protected]'
sent_on Time.now
body :book_loan => book_loan
end
end
Je tente d'appeler cette méthode à partir d'une action à l'intérieur de mon BooksController
def request_return
@book = Book.find(params[:id])
ReturnRequestMailer.please_return(@book.current_loan)
end
qui j'invoque mon index de livres avec le link_to suivant (en ignorant pour le moment que le faire dans ce manière n'est probablement pas la solution permanente la plus intelligente).
<%= link_to 'Request Return', {:action => 'request_return' , :id => book} %>
Tout lien correctement, mais je reçois un NoMethodError dans BooksController # request_return indiquant qu'il ne peut pas trouver la méthode please_return pour ReturnRequestMailer. Que se passe-t-il qui empêche la méthode please_return d'être visible pour le BooksController?