Deviseに問題があります。私はdevise Railsでadminとuser以外の新しい役割を作った。ここではuser.rbモデルのように見えますDevise Railsのadminとuser以外のカスタムメーラ
class User < ActiveRecord::Base
PANEL_LEVELS = [PANEL_LEVEL_NORMAL = 'normal', PANEL_LEVEL_INACTIVE_MODERATOR = 'inactive_moderator', PANEL_LEVEL_DESIGNER = 'moderator']
誰かが新しいモデレータアカウントを作成すると、それは非アクティブモデレータになります。私にとって
主な問題は、モデレータにカスタム確認メールを送信することで、これは私がcustom_devise_mailerからそれを実行しようとしました方法です:
def confirmation_instructions(record, token, opts = {})
if record.class.name == 'User'
opts[:template_path] = 'devise_users/mailer'
else if resource.panel_level == User::PANEL_LEVEL_INACTIVE_MODERATOR
opts[:template_path] = 'devise_moderators/mailer'
else
opts[:template_path] = 'devise_admins/mailer'
end
end
opts[:template_name] = :confirmation_instructions
super
end
resource.panel_level = User::PANEL_LEVEL_INACTIVE_MODERATOR if params.fetch('account') { nil } == 'moderator'
しかし、それはのためのデフォルトのメールを送信していますdevise_user。当然のことながら、私は司会者メーラーとそれを送信する方法についての意見を持っています。
は、あなたはそれが私よりもっと透明性ソリューションです:)ありがとうございました。 – Pigius