Rails:设计:如何编辑用户信息?

我有一个使用Devise设置的Rails应用程序,带有注册控制器。

到目前为止有什么工作:

新用户注册登录注销主页关于确认密码重置

不工作是编辑,因为我无法弄清楚我应该进行的URL / REST调用以进行编辑显示。 我有一个views / registrations / 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上有几个有用的问答环节,但我无法弄清楚如何在这里为我提供建议。 有任何想法吗?

我通常只是添加一个

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

这将为您提供/ users /:id路由(您的个人资料),并可以编辑和更新它。 这样,您就像平常一样,在Devise之外与User模型进行交互。