设计可邀请:可选择发送电子邮件

时间:2011-01-05 00:25:15

标签: ruby-on-rails ruby-on-rails-3 devise

在设计中,您可以通过执行以下方式邀请新用户:

User.invite!(:email => "new_user@example.com", :name => "John Doe")

我想做的是(有时)阻止设计邀请发送电子邮件。我在库中找到了以下代码:

def invite!
        if new_record? || invited?
          self.skip_confirmation! if self.new_record? && self.respond_to?(:skip_confirmation!)
          generate_invitation_token if self.invitation_token.nil?
          self.invitation_sent_at = Time.now.utc
          save(:validate => false)
          ::Devise.mailer.invitation_instructions(self).deliver
        end
      end

有关如何最好地更新以便不在最后一行发送电子邮件的任何想法?我不熟悉::

感谢

1 个答案:

答案 0 :(得分:12)

你可以使用:

User.invite!(:email => "new_user@example.com", :name => "John Doe") do |u|
  u.skip_invitation = true
end

User.invite!(:email => "new_user@example.com", :name => "John Doe", :skip_invitation => true)

这将跳过邀请电子邮件。