Я переопределил контроллер сессий devise, но теперь, когда я пытаюсь перейти по этой ссылке локально localhost:3000/users/sign_in, я сталкиваюсь со следующей ошибкой,

 ActionController::RoutingError (undefined local variable or method `users' for main:Object)      
 app/controllers/users/sessions_controller.rb:1:in `'

до сих пор у меня есть столько кода в контроллере сессий :

class users::SessionsController < Devise::SessionsController
 before_filter :configure_sign_in_params, only: [:create]

 def new
  super
 end

 def create
  self.resource = warden.authenticate!(auth_options)
  set_flash_message(:notice, :signed_in) if is_navigational_format?
  sign_in(resource_name, resource)
  if !session[:return_to].blank?
   redirect_to session[:return_to]
   session[:return_to] = nil
  else
   respond_with resource, :location => after_sign_in_path_for(resource)
  end
 end

 def destroy
  super
 end


 def configure_sign_in_params
  devise_parameter_sanitizer.for(:sign_in) << :attribute
 end
end

и я выполнил все шаги, приведенные здесь, https://github.com/plataformatec/devise, для переопределения контроллера сессий

нужна помощь!

Hemant Patil

Ответов: 1

Ответы (1)

И тут возникает проблема: константы в Ruby начинаются с заглавной буквы.

Имена классов в Ruby являются константами и должны начинаться с заглавной буквы.

Измените users::SessionsController на Users::SessionsController.

2022 WebDevInsider