В Rails 4.1 есть удобный способ предварительный просмотр почтовых программ с ActionMailer::Preview
. Все мои почтовые программы принимают параметр user
, и я хотел бы передать current_user
(от Devise) для предварительного просмотра.
Если я попробую это сделать, это не сработает.
class SubscriptionsMailerPreview < ActionMailer::Preview
# Preview this email at http://localhost:3000/rails/mailers/subscriptions_mailer/new
def new
SubscriptionsMailer.new(current_user)
end
end
Возвращает undefined local variable or method 'current_user' for #<SubscriptionsMailerPreview:0xa6d4ee4>
.
Я подозреваю, что это потому, что current_user
определен Devise в ApplicationController
, и, согласно документации, ActionMailer
использует AbstractController::Base
. В таком случае, будет ли сохранение current_user
в переменной класса плохой идеей?
Кто-нибудь знает, как можно использовать помощник current_user
в ActionMailer::Preview
?