繁体   English   中英

Rails 4 Devise自定义路线

[英]Rails 4 Devise custom routes

我在我的应用中使用'devise','〜> 3.4.1'和rails 4。 当我尝试创建自定义路由时,出现了越来越严重的错误。 我还需要在route.rb中添加什么

错误:ArgumentError:'devise / sessions'不是受支持的控制器名称。 这可能导致潜在的路由问题。 看到

的routes.rb

   Rails.application.routes.draw do
    devise_for :users

   devise_scope :user do
    get 'register', to: 'devise/registrations#new', as: :register
    get 'login', to: ' devise/sessions#new', as: :login
 end

在登录路由时发生了问题。

试用以下代码:

devise_scope :user do
    get '/login' => 'devise/sessions#new'
    get '/register' => 'devise/registrations#new'
end

您的代码中有一个错字,在“ devise / sessions#new”之前有一个空格。

这个,

get 'login', to: ' devise/sessions#new', as: :login

应该

get 'login', to: 'devise/sessions#new', as: :login

你需要这样做

devise_for :users, path_names: {
  sign_in: 'login', sign_out: 'logout',
  password: 'secret', confirmation: 'verification',
  registration: 'register', edit: 'edit/profile'
}

来源: http : //www.rubydoc.info/github/plataformatec/devise/ActionDispatch/Routing/Mapper : devise_for

 devise_for  :user, :path => ' ', :path_names => { :sign_in => "login" :sign_up => "register" }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM