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

Eas*_*per 4 ruby-on-rails devise-confirmable

我有一个使用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
Run Code Online (Sandbox Code Playgroud)

以下是我的routes.rb中特定于设计的部分:

devise_for :users, :controllers => { :registrations => 'registrations', :confirmations => 'confirmations' }, :path => '', :path_names => { :sign_in => "login", :sign_up => "request_invite" }
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

http://localhost:3000/edit  
http://localhost:3000/edit/:id
http://localhost:3000/registrations/:id/edit
http://localhost:3000/user/:id/edit
Run Code Online (Sandbox Code Playgroud)

我明白了:没有路线匹配[GET] ......

StackOverfloww上有几个有用的问答环节,但我无法弄清楚如何在这里为我提供建议.有任何想法吗?

Jes*_*ott 6

我通常只是添加一个

resources :users, only: [:show, :edit, :update]
Run Code Online (Sandbox Code Playgroud)

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