2012-05-12 3 views
5

내 레일 앱에서 사용자 등록을 위해 devise를 사용하고 있습니다. 이제 사용자 등록 외에도 관리자는 백엔드에서 사용자를 생성, 편집 및 삭제해야합니다. 해당 관리 백엔드를 통해 새 사용자를 만드는 데 문제가 있습니다.Devise로 사용자를 수동으로 생성하는 방법

내 브라우저에서 UsersController # 새 작업을 호출하면 나에 의해 만들어진 사용자 입력 양식이 열립니다. 제출 버튼을 클릭하면 Devise :: RegistrationsController # create가 호출되지만 내 UsersController # create action을 호출해야합니다.

관리자 백엔드에서 사용자 작성을 사용할 때 UsersController # create를 호출하고 사용자가 등록을 사용할 때 Devise :: RegistrationsController # create를 호출하는 방법을 어떻게 알 수 있습니까?

답변

5

1) 고안 경로 접두사를 추가 : devise_for :users, :path_prefix => 'd'

2) rake routes을 실행

user_registration POST /d/users(.:format) devise/registrations#create 
... 
users POST /users(.:format) users#create 

그래서, Devise::RegistrationsController에 대한 첫 번째 경로, 두 번째 당신의 UsersController을 위해.

그리고 당신은 단순히 admin/new_user.html.erb에서 사용할 수 있습니다 form_for User.new

0

을 미하일의 대답의 뒷면에, 당신은 또한 '사용자'대신 다른 경로 이름을 사용하도록 고안 알 수 있습니다. 예를 들어 :

devise_for :users, path: 'auth' 

는 안전 할 것입니다/인증/sign_up/인증/sign_in 등 그리고 사용자 정의 사용자 경로 등의 유증 노선을 초래할 것입니다.

(전체 장치 목록은 here입니다.)

관련 문제