2010-12-29 6 views
0

Google에서는 길이가 긴 등록 프로세스가 포함 된 새로운 앱을 만들었습니다. 우리는 Rails 3을 사용하고 있으며 확인을 위해 다음을 사용하여 인증을 시도합니다.Rails 3 앱 (Devise 포함) 기존 사용자로드

이제 기존 시스템에서 많은 기존 사용자를 가져와야합니다. 프로세스를 테스트하기 위해이 작업을 수동으로 수행하기를 원합니다.

문제는 확인 이메일을 보내지 않기 위해서입니다.

전자 메일을 표시하지 않고 수동으로 등록 프로세스를 완료하는 방법에 대한 제안이 있으십니까? 사용자가 생성에 확인으로 설정되어있는 경우는 어떤 이메일을 발송하지 않습니다 것처럼 confirmable 소스 코드를 보면 돔

답변

1

, 그것은 보인다.

먼저, 새로 생성 된 사용자가 이메일을 받을지 여부를 결정해야합니다. 내가 폼에 체크 박스를 추가, 또는 대안으로 기존의 사용자 테이블에 대해 이메일 주소 상호 참조 좋을 것 :

def create 
    # Form style 
    skip_email? = params[:user].delete(:skip_email) 

    # Old users style 
    skip_email? = !!OldUser.find_by_email(params[:user][:email]) 

    @user = User.new(params[:user]) 
    ... 
end 

당신이 두 가지 중 하나를 수행 한 가정을, 당신의 부울 값을해야합니다 skip_email?. 이제 다음을 수행 할 수 있습니다.

def create 
    skip_email? = true # See above 

    @user = User.new(params[:user]) 
    @user.skip_confirmation! 

    if @user.save 
    ... 
    end 
end 

skip_confirmation!은 Devise가 User 모델에 추가하는 방법입니다. Devise 소스 코드 here을 찾을 수 있습니다.

관련 문제