2012-09-16 4 views
0

형식을 기반으로 고유 한 사용자 이름을 생성하려면 어떻게해야합니까? 예를 들어 첫 번째 사용자는 가입합니다. 그 사람의 사용자 이름은 AAA001이고 두 번째 사용자는 사용자 이름을 AAA002로 등록하고 그와 같이 계속 증가합니다. 두 명의 사용자가 동시에 가입 할 때 데이터베이스가 각 사용자에게 고유 한 사용자 이름을 보내는 경우에도 어떻게 설정할 수 있습니까? 이것은 RoR에서 수행 될 것입니다.레일에 고유 한 사용자 이름 생성

고맙습니다.

+0

BTW 마지막 사용자 이름은 ZZZ999입니다. (Im은 문자가 증가하는 것을 보여주기 위해 데모 목적으로 작성했습니다.) –

답변

0

모델의 after_safe 후크에서 사용자 이름을 생성하고 저장할 수 있습니다! (경합 조건을 방지하기 위해) 트랜잭션에서 다시 실행하고 이미 저장된 사용자의 DB-ID를 사용하여 사용자 이름을 생성하십시오.

+0

그래서 사용자를 다시 저장하고 새 사용자 이름을 적용해야합니까? 마지막 사용자가 증가 할 수있는 방법을 어떻게 알 수 있습니까? –

0

데이터베이스 트랜잭션을 사용해야합니다. 여기

은 예입니다

ActiveRecord::Base.transaction do 
    #code goes here 
end 

이 트랜잭션 내부의 코드가 차단되어 있는지 확인합니다.

+0

이것은 모델에 포함됩니까? 어떻게하면 사용자 이름을 가져 와서 사용자에게 보여줄 수 있습니까? –