0
经过如此多的搜索之后,我终于找到了一种为ActiveAdmin默认模板添加新按钮的方法。 以下是我User.rb文件,其中我加入一个新的按钮将现有路线添加到ActiveAdmin导轨上的新按钮
action_item only: :show do
link_to "Resend Email"
end
目前,它的路由点击时显示的动作。但我想路由到UserMailer#confirmation_instructions
的routes.rb
Rails.application.routes.draw do
ActiveAdmin.routes(self)
devise_for :users,controllers: {registrations: 'users/registrations',sessions: 'users/sessions',confirmations: 'users/confirmations'}
end
Usermailer.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
我怎样才能可以路由到UserMailer#confirmation_instructions
?这个AI在正常的MVC架构上完成了这些事情。但是这真的是在吃我的头。有人可以告诉我该怎么做到这一点?
我想你的解决方案,它正在处理'联系:: UsersController#resend_email'选择用户并最终给错误'未定义的方法'令牌”的User' @Andrey Deineko。 – user3576036
@ user3576036认真吗?男人,这是一个模型,你应该将正确的参数传递给'UserMailer.confirmation_instructions' - 我应该如何知道他们应该是什么? :) –
我稍后通过了我为'def confirmation_instruction(record,token,opts = {})'传递的相同参数。它没有工作。我认为这是最接近的解决方案。这对我来说确实是新的。只要告诉我应该为问题添加更多的内容,以便你知道应该是什么论点。 – user3576036