5

Rails アプリでは、ユーザー登録に devise を使用しています。ユーザー登録に加えて、管理者はバックエンドでもユーザーを作成、編集、および削除する必要があります。その管理者バックエンドを介して新しいユーザーを作成する際に問題があります。

ブラウザで UsersController#new アクションを呼び出すと、作成したユーザー入力フォームが開きます。送信ボタンをクリックすると、Devise::RegistrationsController#create が呼び出されますが、UsersController#create アクションを呼び出す必要があります。

管理者バックエンドでユーザー作成を使用するときに UsersController#create を呼び出し、ユーザーが登録を使用するときに Devise::RegistrationsController#create を呼び出すにはどうすればよいですか?

4

2 に答える 2

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、 の 2 番目のルートUsersController

そして、次のように簡単に使用できますadmin/new_user.html.erbform_for User.new

于 2012-05-12T14:24:33.473 に答える