我正在使用Devise-invitable
向用户发送使用其电子邮件地址的邀请。当我发送和邀请时,(正确)发送的邮件之一是带有邀请链接的邮件。但是,另一封电子邮件会发送给受邀者“谢谢您注册我们。”。设计邀请:邀请用户时,正在发送2封电子邮件,一封邀请邮件和一封表示“谢谢您注册我们”的邮件
我找不到为什么会发生这种情况。
Ruby version : 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
Rails version : 4.2.4
devise version : 3.5.10
devise_invitable version : 1.6.0
守则邀请控制器:
class InvitationsController < Devise::InvitationsController
def create
params[:user][:email].each do |email|
User.invite!({:email => email}, current_user) #If I comment out this line, both emails are not sent
end
redirect_to root_path
end
end
守则User.rb我用
class User < ActiveRecord::Base
# after_create :send_welcome_email
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :invitable, :omniauthable, :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable
attr_accessor :user_profile_phone, :user_profile_city
# Relationships
has_many :identities
has_many :orders
belongs_to :role, :dependent => :destroy
belongs_to :userdatum, :dependent => :destroy
belongs_to :userprofile, :dependent => :destroy
has_many :comments
has_many :deliveries
has_many :conversations, :dependent => :destroy
# Filters
before_save :assign_role
after_create :send_welcome_mail
def send_welcome_mail
UserMailer.registration(self).deliver_now
end
def assign_role
self.role = Role.find_by name: "User" if self.role.nil?
end
def facebook
identities.where(:provider => "facebook").first
end
def facebook_client
@facebook_client ||= Facebook.client(access_token: facebook.accesstoken)
end
def google_oauth2
identities.where(:provider => "google_oauth2").first
end
def google_oauth2_client
if [email protected]_oauth2_client
@google_oauth2_client = Google::APIClient.new(:application_name => 'Test', :application_version => "1.0.0")
@google_oauth2_client.authorization.update_token!({:access_token => google_oauth2.accesstoken, :refresh_token => google_oauth2.refreshtoken})
end
@google_oauth2_client
end
def admin?
self.role.name == "Admin"
end
def sytlist?
self.role.name == "Stylist"
end
def user?
self.role.name == "User"
end
end