名称:非初始化的常数devisecontroller
我已经尝试将Rails应用程序从6.1升级到7,并且在运行捆绑应用程序之后:UPDATE
我收到以下错误:
rails aborted!
NameError: uninitialized constant DeviseController
/Users/martynas/projects/bend/config/initializers/devise_permitted_parameters.rb:17:in `<main>'
/Users/martynas/projects/bend/config/environment.rb:5:in `<main>'
Tasks: TOP => active_storage:update => environment
(See full trace by running task with --trace)
环境:
- Ruby 2.7.5
- Rails 7.0.2.4
- 设计4.8.1
任何提示如何求解如何求解这将很有帮助,谢谢:)
edit
devise_permitty_parameters.rb
:
module DevisePermittedParameters
extend ActiveSupport::Concern
included do
before_action :configure_permitted_parameters
end
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys:[:name])
devise_parameter_sanitizer.permit(:account_update, keys: [:name])
end
end
DeviseController.send :include, DevisePermittedParameters
emoverition.rb
# Load the Rails application.
require_relative "application"
# Initialize the Rails application.
Rails.application.initialize!
I have tried upgrading my Rails app from 6.1 to 7 and after running bundle app:update
I get the following error:
rails aborted!
NameError: uninitialized constant DeviseController
/Users/martynas/projects/bend/config/initializers/devise_permitted_parameters.rb:17:in `<main>'
/Users/martynas/projects/bend/config/environment.rb:5:in `<main>'
Tasks: TOP => active_storage:update => environment
(See full trace by running task with --trace)
Environment:
- Ruby 2.7.5
- Rails 7.0.2.4
- Devise 4.8.1
Any hints how to solve this would be helpful, thanks :)
Edit
devise_permitted_parameters.rb
:
module DevisePermittedParameters
extend ActiveSupport::Concern
included do
before_action :configure_permitted_parameters
end
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys:[:name])
devise_parameter_sanitizer.permit(:account_update, keys: [:name])
end
end
DeviseController.send :include, DevisePermittedParameters
environment.rb
# Load the Rails application.
require_relative "application"
# Initialize the Rails application.
Rails.application.initialize!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可能是Deaise&amp; Rails 7,无论如何,在我的一个项目中,我都使用这种方式:
application_controller.rb
,在同一文件中
account.rb ,
无需创建
devise_permitty_parameters.rb
It could be an issue with devise & rails 7, anyway in one of my project i used devise this way:
application_controller.rb
and in the same file of
account.rb,
without the need to create
devise_permitted_parameters.rb