升级到 Rails 4.2 问题
Upgrading to Rails 4.2 issues
我正在尝试从 Rails 4.1.9 升级到 Rails 4.2,当我尝试 运行 控制台或服务器时,出现以下错误。有什么想法吗?我认为 html-扫描仪 gem 包含在 Action::View
中
gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- action_view/vendor/html-scanner (LoadError)
我相信他们在 4.2 中从 rails 中删除了 html-scanner,当时他们切换到 rails-html-sanitizer
according to the upgrade guide but it seems you can use the rails-deprecated_sanitizer
gem 到您的 Gemfile,然后重新包含 html-scanner 库
gem 'rails-deprecated_sanitizer'
希望对您有所帮助!
OP 的问题(和我的)与原型中的不兼容性有关-rails gem。这可以通过直接从 github 使用原型-rails 的“4.2”分支来解决。按如下方式修改您的 Gemfile 条目:
gem 'prototype-rails', github: 'rails/prototype-rails', branch: '4.2'
请注意,原型-rails gem 从 Rails 5 开始将不再受支持,因此现在是删除此依赖项的最佳时机。
我在遗留项目中也遇到过这个问题。它是一个捆绑器 1.17.3 / ruby 2.4 / rails 4.2.11.3,它让我感到困惑。
以下令人厌恶的技巧奏效了:
宝石文件:
gem 'rails-deprecated_sanitizer'
gem 'prototype-rails', git: 'https://github.com/rails/prototype-rails.git', branch: '4.2'
但这还不够。然后我不得不让 rails-deprecated_sanitizer 出现在宝石想要它的地方。
所以在我的项目中,我创建了 lib/action_view/vendor/html-scanner.rb:
require 'rails-deprecated_sanitizer'
require 'rails/deprecated_sanitizer/railtie'
require 'rails/deprecated_sanitizer/html-scanner'
(我怀疑这三个都需要,注意)
当然,这取决于 lib 在您的加载路径中。
这解决了问题,我终于能够重置数据库并启动服务器。
我正在尝试从 Rails 4.1.9 升级到 Rails 4.2,当我尝试 运行 控制台或服务器时,出现以下错误。有什么想法吗?我认为 html-扫描仪 gem 包含在 Action::View
中gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- action_view/vendor/html-scanner (LoadError)
我相信他们在 4.2 中从 rails 中删除了 html-scanner,当时他们切换到 rails-html-sanitizer
according to the upgrade guide but it seems you can use the rails-deprecated_sanitizer
gem 到您的 Gemfile,然后重新包含 html-scanner 库
gem 'rails-deprecated_sanitizer'
希望对您有所帮助!
OP 的问题(和我的)与原型中的不兼容性有关-rails gem。这可以通过直接从 github 使用原型-rails 的“4.2”分支来解决。按如下方式修改您的 Gemfile 条目:
gem 'prototype-rails', github: 'rails/prototype-rails', branch: '4.2'
请注意,原型-rails gem 从 Rails 5 开始将不再受支持,因此现在是删除此依赖项的最佳时机。
我在遗留项目中也遇到过这个问题。它是一个捆绑器 1.17.3 / ruby 2.4 / rails 4.2.11.3,它让我感到困惑。
以下令人厌恶的技巧奏效了:
宝石文件:
gem 'rails-deprecated_sanitizer'
gem 'prototype-rails', git: 'https://github.com/rails/prototype-rails.git', branch: '4.2'
但这还不够。然后我不得不让 rails-deprecated_sanitizer 出现在宝石想要它的地方。
所以在我的项目中,我创建了 lib/action_view/vendor/html-scanner.rb:
require 'rails-deprecated_sanitizer'
require 'rails/deprecated_sanitizer/railtie'
require 'rails/deprecated_sanitizer/html-scanner'
(我怀疑这三个都需要,注意)
当然,这取决于 lib 在您的加载路径中。
这解决了问题,我终于能够重置数据库并启动服务器。