プロジェクトに「チームメンバーを追加」するためのモジュールを Rails アプリケーションで作成しています。そして、devise_invitableを使用しています。
これで、新しいメールアドレスを追加すると、確認メールと招待メールの両方が送信されます...それはより理にかなっています
招待メールを送信したいだけです(ユーザーが招待メールを受け入れた後、登録ページに送信できます)...招待を受け入れる前に確認するのは意味がありません。
私の現在のコードは次のとおりです。
def create_team_members
# find the case
@case = Case.find_by_id(params[:id])
# TODO:: Will change this when add new cse functionality is done
params[:invitation][:email].split(',').map(&:strip).each do |email|
# create an invitation
@invitation = Invitation.new(email: "#{email}".gsub(/\s+/, ''), role: params[:invitation][:role].rstrip, case_id: @case.id, user_type_id: params[:invitation][:user_type_id])
if @invitation.save
# For existing users fire the mail from user mailer
if User.find_by_email(email).present?
UserMailer.invite_member_instruction(@invitation).deliver
@invitation.update_attributes(invited_by: current_user.id)
else
# For new users use devise invitable
user = User.invite!(email: "#{email}", name: "#{email}".split('@').first.lstrip)
user.skip_confirmation!
user.save
@invitation.update_attributes(invitation_token: user.invitation_token, invited_by: current_user.id)
end
end
end
redirect_to dashboard_path
end
何が間違っているのかわかりません...
助けてください...ありがとう。