在ruby中发送邀请邮件时停止注册邮件

时间:2013-09-10 17:26:25

标签: ruby-on-rails-3.2 devise devise-invitable

在我的应用程序中,确认邮件在用户表格中输入或新用户注册后发送。但在我的应用程序中,我也使用设计可用。当我执行User.invite时,会发送邀请,但由于该条目也会进入用户表,因此也会发送确认邮件。但是我可以在向用户发送邀请时停止发送确认邮件。我在添加邀请时添加了skip_confirmation: true,但仍然发送了确认邮件。有人可以为此提出一些解决方案吗?

1 个答案:

答案 0 :(得分:0)

我通过更改create的devise_invitable控制器操作来完成此操作(以及其他一些修改)。 README有一个名为“配置控制器”的部分,可以让您从这条路开始。

您希望按照该部分中的说明创建一个继承自Devise :: InvitationsController的新控制器。在新创建的控制器中包含create方法,该方法使用skip_confirmation!方法,然后super(参考)父控制器来完成操作。

这是未经测试的代码,但你有类似的东西:

class Users::InvitationsController < Devise::InvitationsController
  def create
      resource.skip_confirmation!    
      super
  end
end

当我弄清楚如何修改默认的Devise_Invitable行为时,我发现查看源控制器非常有帮助 - here it is