2012-03-03 4 views
0

내 응용에서는 현재 이 세션을 시작하고 확인 이메일을 주소로 보내는 사용자를 생성 할 수 있습니다. 이 모든 것이 좋지만 조금 더 구체화하고 싶습니다. advanced.만들기 전에 사용자 확인

내가하고 싶은 일은 사용자를 생성 한 다음 이메일을 보내 사용자가 이메일을 통해 확인하도록해야한다는 것입니다. 전자 메일에서 확인 링크를 클릭하면 사용자는 데이터베이스에 등록 된 다음 로그인 할 수 있습니다.이 링크가 만들기 기능으로 이동되기를 원합니다.

어떻게 그렇게할까요?

현재 코드가 필요한 경우 제공 할 수 있습니다.

데프 @user = User.new 만들 :

나는 순간에 생성/내 컨트롤러이 있습니다 (PARAMS를 [: 사용자])

respond_to do |format| 
    if @user.save 
    Notifier.user_created(@user).deliver 
    session[:user_id] = @user.id 
    format.html { redirect_to @user, notice: 'User was successfully created.' } 
    format.json { render json: @user, status: :created, location: @user } 
    else 
    format.html { render action: "new" } 
    format.json { render json: @user.errors, status: :unprocessable_entity } 
    end 
end 
end 

감사합니다.

답변

4

사용자를 데이터베이스에 저장하기를 기다리는 것은 웹이 운영하는 무국적 방식과 거의 불가능한 일이지만, 그것이 수행 될 수 없다는 것을 의미하지는 않습니다.

사용자 테이블에 confirmed과 같은 추가 필드를 사용하는 것이 좋습니다. false으로 초기화 한 다음 확인 양식을 사용하여 사용자를 찾아보고 confirmed을 true로 변경하십시오. 사용자가 자신을 확인하고 당신은 그들이 로그인이 허용되는지 여부 등의 결정을 내리는 데 사용할 수있는 경우

이것은 빠르게 알 수 있습니다.

을 themeselves을 확인 결코 사람의 관점에서, 당신은 쓰기 매 5 일마다 실행되는 레이크 작업으로 resque_scheduler 또는 cron 작업과 같은 것을 사용하여 아직 스스로 확인하지 않은 사용자를 삭제합니다.

희망이 솔루션입니다.

+0

건배, 나는 장치와 같은 것을 사용하는 데 아무런 관심이 없다. 처음부터 그것을 할 것이다. 확인 가능한 기능을 수행하는 방법을 알려주는 링크가 있습니까? 나는 레일을 처음 사용하기 때문에 인증 측면에서 많은 것을 알지 못합니다. – user1222136

관련 문제