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

时间:2012-06-05 15:57:55

标签: 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

以下是我的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会话,但我无法弄清楚如何在这里为我提供建议。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

我通常只添加一个

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

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