将我的应用程序升级到 Rails 3.1.1 时出现 NameError

发布于 2024-12-10 19:19:22 字数 5088 浏览 4 评论 0原文

我的应用程序的名称是 newsample_app 。我正在按照 Railstutorial 截屏视频升级到 Rails 3.1。以下是将文件从旧的“sample_app”复制到“newsample_app”并尝试运行 rspec 时收到的错误消息:

rspec 规范/控制器/pages_controller_spec.rb /Users/topica/rails_projects/newsample_app/config/routes.rb:1:in `': 未初始化的常量 NewSampleApp (NameError)

看到这个后,我将我的原始sample_app中的routes.rb文件从“SampleApp::Application.routes”更改为.draw do”对此:“NewSampleApp::Application.routes.draw do”但仍然收到错误。有什么想法吗?

仅供参考完整错误:

Topicas-MacBook-Pro:newsample_app topica$ rspec spec/controllers/pages_controller_spec.rb
/Users/topica/rails_projects/newsample_app/config/routes.rb:1:in `<top (required)>': uninitialized constant NewSampleApp (NameError)
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `block in load_paths'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `each'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `load_paths'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:13:in `reload!'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:7:in `block in initialize'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/activesupport-3.1.1/lib/active_support/file_update_checker.rb:32:in `call'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/activesupport-3.1.1/lib/active_support/file_update_checker.rb:32:in `execute_if_updated'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/finisher.rb:63:in `block (2 levels) in <module:Finisher>'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/finisher.rb:64:in `call'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/finisher.rb:64:in `block in <module:Finisher>'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `instance_exec'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `run'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `each'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application.rb:96:in `initialize!'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/topica/rails_projects/newsample_app/config/environment.rb:5:in `<top (required)>'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/rails_projects/newsample_app/spec/spec_helper.rb:3:in `<top (required)>'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/rails_projects/newsample_app/spec/controllers/pages_controller_spec.rb:1:in `<top (required)>'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:69:in `run'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun'

The name of my app is newsample_app . I am following along the railstutorial screencast for upgrading to rails 3.1. Here is the error message I am getting when copying files over from my old "sample_app" to "newsample_app" and trying to run rspec:

rspec spec/controllers/pages_controller_spec.rb
/Users/topica/rails_projects/newsample_app/config/routes.rb:1:in `': uninitialized constant NewSampleApp (NameError)

After seeing this, I changed my routes.rb file from my original sample_app from "SampleApp::Application.routes.draw do" to this: "NewSampleApp::Application.routes.draw do" but am still getting the error. Any ideas?

FYI complete error:

Topicas-MacBook-Pro:newsample_app topica$ rspec spec/controllers/pages_controller_spec.rb
/Users/topica/rails_projects/newsample_app/config/routes.rb:1:in `<top (required)>': uninitialized constant NewSampleApp (NameError)
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `block in load_paths'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `each'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `load_paths'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:13:in `reload!'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:7:in `block in initialize'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/activesupport-3.1.1/lib/active_support/file_update_checker.rb:32:in `call'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/activesupport-3.1.1/lib/active_support/file_update_checker.rb:32:in `execute_if_updated'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/finisher.rb:63:in `block (2 levels) in <module:Finisher>'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/finisher.rb:64:in `call'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application/finisher.rb:64:in `block in <module:Finisher>'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `instance_exec'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `run'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `each'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/application.rb:96:in `initialize!'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/topica/rails_projects/newsample_app/config/environment.rb:5:in `<top (required)>'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/rails_projects/newsample_app/spec/spec_helper.rb:3:in `<top (required)>'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/topica/rails_projects/newsample_app/spec/controllers/pages_controller_spec.rb:1:in `<top (required)>'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:69:in `run'
    from /Users/topica/.rvm/gems/ruby-1.9.2-p290@rails3_1tutorial/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

喜爱皱眉﹌ 2024-12-17 19:19:22

您可能希望它与 config/application.rb 中的内容相同
如果它确实是 newsample_app ,那么它可能是 NewsampleApp 而不是 NewSampleApp

You probably want that to match the same as in config/application.rb
If it really is newsample_app than it is probably NewsampleApp not NewSampleApp

花之痕靓丽 2024-12-17 19:19:22

看来是案例问题。

> "newsample_app".camelize
 => "NewsampleApp" 

注意小写的“s”。

Looks like a case problem.

> "newsample_app".camelize
 => "NewsampleApp" 

Note the lowercase "s".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文