레일 4 앱에서 Devise를 사용하고 있습니다.Devise 사용자에 대한 임의의 사용자 이름 만들기
사용자 기호 위로에 필요하지 않은 사용자 이름을 가지고 있지만, 나는 무작위로 하나를 할당 할.
나는 아래의 컨트롤러를 만들어 확인했습니다 : 사용자 이름이 강한 매개 변수입니다.
사용자 이름이 저장되지 않습니다. 왜 그 이유를 이해하도록 도와 주실 수 있습니까?
class UsersController < DeviseController
before_create :set_username
private
def set_username
o = [1..9].map { |i| i.to_a }.flatten
self.username = "user" + (0...10).map { o[rand(o.length)] }.join
end
end
차이점을 이해하기 만하면 컨트롤러는 요청을 처리하기 때문에 수명주기가 없습니다. ActiveRecord :: Base (사용자, 회사, 자동차 등과 같은 모델)를 상속 한 객체는 생성, 저장, 소멸 등의 작업을 수행 할 수 있습니다. 이러한 작업은 before_create 등에서 호출 할 수 있습니다. – Austio
해명 해 주셔서 감사합니다. 정말 기억에 남는 방법입니다. – user1573016