actionview-4.2.4 - 未初始化的常量 ActionView::Helpers::ActiveModelHelper (NameError)

actionview-4.2.4 - uninitialized constant ActionView::Helpers::ActiveModelHelper (NameError)

C:\Users\Clarion Smith\Documents\Sites\simple_cms>rails server
C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.4/lib/action_view/helpers.rb:40:in `<module:Helpers>': uninitialized constant ActionView::Helpers::ActiveModelHelper (NameError)
        from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.4/lib/action_view/helpers.rb:4:in `<module:ActionView>'
        from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.4/lib/action_view/helpers.rb:3:in `<top (required)>'
        from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-

我的问题在 Ruby 和 Rails 中很常见。尽管我经历了不同的 Whosebug 答案,但我找不到任何可以修复我的错误的具体内容。

我尝试重新安装较低版本的 railites gem 但同样的错误不断出现。我尝试重新安装所有抛出错误的 gems,但问题似乎并没有消失。许多文章指出这是一个兼容性问题。但是当我尝试重新安装较低版本的 railties gem(4.0.0) 时,命令提示符仍然要求我升级到最新版本才能继续。我还安装了 'Passenger' 网络服务器来检查兼容性并弹出类似的错误,但这次是乘客 gem。请相应地对此进行调查。我也在下面复制 gem 文件。

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.4'
# Use mysql as the database for Active Record
gem 'mysql2'
#Bundle for Passenge r web server
gem 'passenger'
# Use SCSS for stylesheets
#gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets

#gem 'uglifier', '>= 1.3.0'
gem 'rack', '~> 1.6.0'
gem 'rspec-rails', :group => [:development, :test]
# Use CoffeeScript for .coffee assets and views

#gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library

#gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks

#gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder

#gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.

#gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

我记得我是这样修正这个错误的:

  1. 卸载railtiesgem.

  2. 然后安装旧版本的 rails gem(4.0.0 在我的例子中,因为那是教程中的版本)。

这一次解决了我的问题。

你试过这些步骤了吗?

检查您的 Gemfile.lock 文件以了解所使用的 nokogiri 版本。 nokogiri 1.6.6.4 我遇到了同样的问题。它使用必要的 dll 成功安装,但由于某种原因它在 windows.

上播放效果不佳

对我有用的方法,希望对你也有用

  1. gem 'nokogiri', '1.6.6.2' 放入您的 gem 文件
  2. 卸载其他版本的 nokogiri
  3. 从 paulgrant999 为 ruby 2.2 编译的 here 下载 nokogiri 1.6.6.2 gem。目前,x86 和 x64 版本均可用。作者声明 repo 将很快被删除。
  4. 使用命令安装gem install --local path-to-gem/filename.gem
  5. 捆绑包安装在您的项目目录中。它可能会要求您 运行 bundle update nokogiri 更新依赖项。 rails s 现在应该启动服务器。

对我来说,我可以通过

解决这个问题
gem pristine --all