我尝试在Active Admin rails上添加新按钮(重新发送电子邮件)到现有(发送电子邮件)方法/路由。我已经在具有MVC架构的普通轨道上完成了这些任务。我曾经在html.erb文件中添加所需的路径路径。我发现很难在Active Admin上实现相同的功能,因为它没有MVC外观。 在 routes.rb 文件中我有
的routes.rb
Rails.application.routes.draw do
mount Bootsy::Engine => '/bootsy', as: 'bootsy'
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
devise_for :users,controllers: {registrations: 'users/registrations',sessions: 'users/sessions',confirmations: 'users/confirmations'}
end
此处confirmations: 'users/confirmations'
用于向用户发送电子邮件验证邮件。这很好。有些用户忘记查看他们的电子邮件。所以我试图创建一个"重新发送电子邮件" ActiveAdmin文件上的按钮,在提交时再次发送验证电子邮件。
我应该设置什么路径才能再次发送邮件。我是active-admin rails的新手。非常感谢您的帮助。
User.rb
ActiveAdmin.register User, :as => 'User' do
action_item only: :show do
link_to('Resend Email', )
end
end
user_mailer.rb
def confirmation_instructions(record, token, opts={})
@system_email = SystemEmail.find_by(title: 'Email Verification')
@subject = @system_email.try(:subject).to_s
@subject = "Email Verification" if @subject.blank?
opts = {subject: @subject}
@token = token
devise_mail(record, :confirmation_instructions, opts)
end