2011-12-16 4 views
4

일종의 레일즈 초보자입니다. 내 응용 프로그램은 Devise를 사용하여 인증합니다. 필요한 경우 로그인 한 사용자가 같은 조직에 속한 다른 사용자를 만들 수 있습니다.사용자가 Devise에 다른 사용자를 만들 수있게 하시겠습니까?

문제점 기본 Devise 새 등록 양식을 사용할 수없는 이유는 로그인 한 상태에서 액세스 할 수 없기 때문입니다. 내 자신의 사용자 컨트롤러를 생성하여이를 무시할 수 있다고 생각합니까?).

또한 사용자 테이블에 organization_id (가입시 자동 생성됨)가 있으며 organization_id의 current_user.organization_id를 전달하는 양식이 필요하며 기본 양식을 사용하면 해당 작업을 수행 할 수 없습니다.

제안 사항?

답변

4

당신이 필요한 모든 사용자 필드가이 같은 PARAMS 뭔가 걸릴 것이다 당신의 컨트롤러 중 하나에 양식 값을 전달합니다 양식 사용자 정의를 만들어야합니다 :

def create 
    User.create!({:email => params[:email], :roles => ["role/organization here"], :password => params[:password], :password_confirmation => params[:password_confirmation] }) 
end 

또한을 이 경우 사용자가 현재 로그인되어 있고 새 사용자를 만들 수 있는지 확인하는 before_filter 중 하나를 사용하여이 작업을 보안해야합니다.

희망이 있습니다.

+0

Devish가 컨트롤러 측면에서 너무 많은 문제를 일으키기 때문에 결국 Authlogic과 함께갔습니다. 나는 또한 완전히 다른 방식으로 일을했다. 그러나 나는 여전히 다른 양식을 만들고 그것을 부분적으로 저장하라는 귀하의 제안을 받았습니다. 감사합니다 :) – cdotfeli

+0

다행 당신을 위해 일했다! :) –

관련 문제