6

登録コントローラーを備えたDeviseを使用してRailsアプリをセットアップしています。

これまでに機能しているもの:

新規ユーザー登録ログインログアウトホーム確認についてパスワードリセット

編集を表示するために行う必要のあるURL/REST呼び出しがわからないため、機能しないのは編集です。私はviews/registerrations/edit.html.erbページを持っています。

以下は、登録に固有の私のルートの部分です。

cancel_user_registration GET    /cancel(.:format)              registrations#cancel
       user_registration POST   /                              registrations#create
   new_user_registration GET    /request_invite(.:format)      registrations#new
  edit_user_registration GET    /edit(.:format)                registrations#edit

以下は、私のroutes.rbのデバイスに固有の部分です。

devise_for :users, :controllers => { :registrations => 'registrations', :confirmations => 'confirmations' }, :path => '', :path_names => { :sign_in => "login", :sign_up => "request_invite" }

私は次のことを試しました:

http://localhost:3000/edit  
http://localhost:3000/edit/:id
http://localhost:3000/registrations/:id/edit
http://localhost:3000/user/:id/edit

取得:ルートが一致しません[GET]..。

StackOverflowwにはいくつかの役立つQ&Aセッションがありますが、ここでのアドバイスをうまく機能させる方法がわかりませんでした。何か案は?

4

1 に答える 1

6

私は通常、

resources :users, only: [:show, :edit, :update]

これにより、/ users /:idルート(プロファイル)が提供され、編集および更新できます。そうすれば、Deviseの外部で、通常どおりにユーザーモデルを操作できます。

于 2012-06-05T16:03:41.230 に答える