Rails 4设计自定义路线

时间:2014-12-24 11:12:54

标签: ruby-on-rails ruby ruby-on-rails-4 devise

我正在使用'设计','〜> 3.4.1'和我的应用程序中的rails 4。当我尝试创建自定义路由时,我得到了错误的错误。我还需要在route.rb中添加什么

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

的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

登录路线出现问题。

4 个答案:

答案 0 :(得分:2)

试试这段代码:

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

答案 1 :(得分:2)

你的代码中有一个拼写错误,在'devise / sessions #new'之前有一个空格。

此,

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

应该是

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

答案 2 :(得分:1)

你需要这样做

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

答案 3 :(得分:0)

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