Я пытаюсь отправить электронное письмо нынешнему заемщику книги. Я создал ActionMailer с именем ReturnRequestMailer, который имеет метод please_return.Вызвать действие для отправки электронной почты в ruby on 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
Я пытаюсь вызвать этот метод из действия внутри моего BooksController
def request_return
@book = Book.find(params[:id])
ReturnRequestMailer.please_return(@book.current_loan)
end
Что я призываю мой индекс книг со следующим link_to (игнорируя на некоторое время, что делает это в этом манера, вероятно, не является самым умным постоянным решением).
<%= link_to 'Request Return', {:action => 'request_return' , :id => book} %>
Все ссылки правильно, но я получаю NoMethodError в BooksController # request_return о том, что он не может найти метод please_return для ReturnRequestMailer. Что происходит, это предотвращает видимость метода please_return для BooksController?