【问题标题】:actionview-4.2.4 - uninitialized constant ActionView::Helpers::ActiveModelHelper (NameError)actionview-4.2.4 - 未初始化的常量 ActionView::Helpers::ActiveModelHelper (NameError)
【发布时间】:2015-12-29 00:48:33
【问题描述】:
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 中很常见。尽管我经历了不同的 stackoverflow 答案,但我找不到任何可以解决我的错误的具体内容。

我尝试重新安装较低版本的 railites gem,但同样的错误不断出现。我尝试重新安装所有抛出错误的 gem,但问题似乎仍然没有消失。许多文章表明这​​是一个兼容性问题。但是当我尝试重新安装较低版本的 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]

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rubygems


    【解决方案1】:

    对我来说,我能够解决这个问题

    gem pristine --all
    

    【讨论】:

      【解决方案2】:

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

      什么对我有用,希望这对你也有用

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

      【讨论】:

        【解决方案3】:

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

        1. 卸载railties gem。

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

        这一次为我解决了这个问题。

        您是否尝试过这些步骤?

        【讨论】:

        • @K M Rakibul Islam - 我试过了。但我遇到的问题是,在我将它升级到最新版本 4.2.2 之前,命令提示符不允许我运行 rails。我在下面粘贴sn-p。 C:\Users\Clarion Smith\Documents\Sites\simple_cms>rails server 在任何源中找不到 railties-4.2.4 运行 bundle install 以安装缺少的 gem。我运行了 bundle install 并将其更新到 4.2.4(自动更新到最新版本)。
        • 嗯,好像事情比以前变了。你能分享你正在关注的教程链接吗?
        猜你喜欢
        • 2016-02-27
        • 2015-03-17
        • 1970-01-01
        • 2017-03-02
        • 1970-01-01
        • 2012-04-29
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多