Я переопределяю контроллер devise_invitable
, и в моем методе создания я хотел бы передать дополнительные значения шаблону invitations_instructions
электронной почты.Например, имя группы, был ли кто-нибудь успешным в этом, если да, пожалуйста, дайте мне несколько подсказок здесь.
что я пробовал ...
мой @group
в моем Users::InvitesController < Devise::InvitationsController
Метод создания не определен в шаблоне электронной почты.
попытался добавить :skip_invitation => true
в моем создании, а затем отправить письмо вручную, как ...
self.resource = resource_class.invite!(params[resource_name], current_inviter, :skip_invitation => true)
::Devise.mailer.invitation_instructions(self.resource).deliver
, но это дает неправильное числоаргументы, поэтому есть кое-что, что я не правильно читаю из документации.
ОБНОВЛЕНИЕ - возможное решение
Единственный способ, по-видимому, таков, но мне любопытно, если есть лучший способкоторый использует предоставленные шаблоны и разрабатывает mailer
в моем /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