Ruby on rails Rails 4设计定制路线

Ruby on rails Rails 4设计定制路线,ruby-on-rails,ruby,ruby-on-rails-4,devise,Ruby On Rails,Ruby,Ruby On Rails 4,Devise,我在我的应用程序中使用了“Desive”、“3.4.1”和rails 4。当我尝试创建自定义路由时,我发现了一个错误。我还需要在route.rb中添加什么 错误: ArgumentError:“设计/会话”不是受支持的控制器名称。 这可能会导致潜在的路由问题。 routes.rb Rails.application.routes.draw do devise_for :users devise_scope :user do get 'register', to:

我在我的应用程序中使用了“Desive”、“3.4.1”和rails 4。当我尝试创建自定义路由时,我发现了一个错误。我还需要在route.rb中添加什么

错误: ArgumentError:“设计/会话”不是受支持的控制器名称。 这可能会导致潜在的路由问题。

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_for :users, path_names: {
  sign_in: 'login', sign_out: 'logout',
  password: 'secret', confirmation: 'verification',
  registration: 'register', edit: 'edit/profile'
}
资料来源:

尝试以下代码:

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

您的代码中有一个拼写错误,在“设计/会话#新建”之前有一个空格

这个,

应该是

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

你说什么都没变,我就改了密码。顺便说一句,as是设备范围的别名。这没什么区别。Thanks@Prabhakar对我得到了它。您是在使用自定义控制器还是在使用Deviate自己的控制器?我没有使用任何自定义控制器。能否检查您的项目应用程序/视图/Deviate/会话中是否存在此路径?我正在创建自定义路由,该路径在Deviate/会话中不存在。它在Rails 3上工作得很好,但在Rails 4上却不工作。就是这样!。谢谢。
get 'login', to: ' devise/sessions#new', as: :login
get 'login', to: 'devise/sessions#new', as: :login