【发布时间】:2016-08-31 06:53:07
【问题描述】:
我有一个关于 Devise 的问题。我在设计 Rails 中创建了除管理员和用户之外的新角色。这是 user.rb 模型中的样子
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 发送默认邮件。当然,我对版主邮件有意见,以及发送它的方法。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 devise