首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改devise user_registration_path

更改devise user_registration_path
EN

Stack Overflow用户
提问于 2013-10-29 18:38:45
回答 1查看 555关注 0票数 1

从我的rake routes

代码语言:javascript
运行
复制
     user_registration POST   /users(.:format)               devise/registrations#create
 new_user_registration GET    /users/sign_up(.:format)       devise/registrations#new

因此,当我单击注册表中的提交按钮时,它会将我移动到/users

我怎样才能让user_registration POST变成/users/sign_up(.:format)呢?我尝试了这样的东西:

代码语言:javascript
运行
复制
  devise_for :users

  as :user do
    post 'sign_up' => 'devise/registrations#create', as: 'user_registration'
  end

但是存在冲突,因为devise_for已经生成了user_registration前缀

EN

回答 1

Stack Overflow用户

发布于 2013-10-30 05:14:23

要执行所需操作,您需要停止生成默认的registrations#create操作。不幸的是,没有简单的方法来做到这一点(或自定义它)。我能找到的最好的方法是跳过为用户生成注册路由,稍后使用devise_scope方法定义所有的注册路由:

代码语言:javascript
运行
复制
devise_for :users, skip: :registration
devise_scope :user do
  resource :registration, :as => :user_registration, :only => [ :new, :edit, :update, :destroy ], :path=> "/users", :path_names=> { :new =>"sign_up" }, :controller=>"devise/registrations"  do
    get :cancel
    post :sign_up, action: :create, as: ''
  end
end

这可能会被清理一下,但它会生成您所期望的结果:

代码语言:javascript
运行
复制
    user_registration POST   /users/sign_up(.:format)       devise/registrations#create
new_user_registration GET    /users/sign_up(.:format)       devise/registrations#new

this thread中讨论了与P.S.相关的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19655831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档