2013-06-06 2 views
1

저는 레일 3.2와 루비 1.9.3을 사용하고 있으며 2.1.2를 고안하고 있습니다.RoR - Devise mailer

관리자가 사용자 이름과 이메일을 사용하여 사용자를 만들길 원합니다.

이 사용자의 비밀번호를 무작위로 생성하고 비밀번호로 이메일을 보내려면 어떻게해야합니까?

답변

0

무작위로 자신의 비밀번호

으로 이메일을 보내 컨트롤러

pwd = Devise.friendly_token[0,16] 

@user = User.new(params[:user]) 
@user.password_confirmation = @user.password = pwd 

에서 사용자

에 대한 암호를 생성이 질문에 대해 살펴 보자 Send an actionmailer email upon user registration in devise rails 3 application

결국 그것은 끓일 것입니다. 같은 :

mail(:to => "#{user.email}", :subject => "Welcome to My Awesome Site, your password #{pwd}") 
1

먼저 관리자 regristration 사용자에 대한 컨트롤러를 작성해야합니다.

추측 된 컨트롤러의 당신 이름은 여기 여기 app/controller/registrations_controller.rb

class RegistrationsController < Devise::RegistrationsController 
before_filter :resource_name 

def resource_name 
    :user 
end 

def new 
    @user = User.new 
end 

def create 
    @user = User.new(params[:user]) 
    generated_password = Devise.friendly_token.first(6) #password length 6 
    @user.password_confirmation = @user.password = generated_password 
    if @user.save 
     # Send Password Via Email 
     UserMailer.password_send(@user).deliver 
     redirect_to a_path 
    else 
     render action: "new" 
    end 
end 

여기 app/mailer/user_mailer.rb

class UserMailer < ActionMailer::Base 
    default :from => "[email protected]" 

    def password_send(user) 
    @user = user 
    mail(:to => user.email, :subject => "password", :from => "[email protected]") 
    end 
    end 

app/views/user_mailer/password_send.html.erb

Email : @user.email<br/> 
    Username : @user.username<br/> 
    Password : @user.password 
있어 것입니다 registrations_controller.rb

입니다

Devise - Automatically generate password for users

희망이 도움이 되십시오!

관련 문제