Я переопределяю контроллер devise_invitable
, и в моем методе создания я хотел бы передать дополнительные значения в шаблон электронной почты invitations_instructions
. Например, имя группы, кто-нибудь был успешным, если да, пожалуйста, дайте мне несколько подсказок здесь.
что я пробовал...
my @group
в моем методе Users::InvitesController < Devise::InvitationsController
create undefined в шаблоне электронной почты.
попытался добавить :skip_invitation => true
в мое создание, а затем отправить электронное письмо вручную, как...
self.resource = resource_class.invite!(params[resource_name], current_inviter, :skip_invitation => true)
::Devise.mailer.invitation_instructions(self.resource).deliver
но это дает неправильное количество аргументов, поэтому есть что-то, что я не читаю правильно из документации.
UPDATE - возможное решение
Единственный способ - это, но мне любопытно, есть ли лучший способ, который использует предоставленные шаблоны и разрабатывает почтовую программу
в моем /app/controller/users/InvitesController#create
(наследуется от InvitationsController
)
self.resource = resource_class.invite!(params[resource_name], current_inviter) do |u|
u.skip_invitation = true
end
UserMailer.invitation_instructions(self.resource, current_inviter, @object).deliver
где UserMailer
- моя общая (стандартная) почтовая программа действий и идет что-то вроде...
def invitation_instructions(resource, inviter, object)
@resource = resource
@object = object
@inviter = inviter
mail(:to => resource.email, :subject => 'New invitation from ' + inviter.first_name)
end