6

我有一个使用 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 上有几个有用的问答环节,但我不知道如何让这里的建议对我有用。有任何想法吗?

4

1 回答 1

6

我通常只是添加一个

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

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

于 2012-06-05T16:03:41.230 回答