我使用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会话,但我无法弄清楚如何在这里为我提供建议。有什么想法吗?
答案 0 :(得分:6)
我通常只添加一个
resources :users, only: [:show, :edit, :update]
这将为您提供/ users /:id路由(您的个人资料),并可以编辑和更新它。这样,您就像平常一样,在Devise之外与User模型进行交互。