【问题标题】:Rails server not starting up I'm getting this errorRails 服务器未启动我收到此错误
【发布时间】:2014-08-13 17:27:39
【问题描述】:

我无法让我的 Rails 服务器开始搜索几个小时。有人可以帮忙吗?我已经添加了下面的代码

/Users/Iain/rails_projects/ali_bodill_photogrphy/config/environments/development.rb:1:in `<top (required)>': undefined local variable or method `ali_bodill_photogrphy' for main:Object (NameError)
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in `require'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in `block in require'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:214:in `load_dependency'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in `require'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/engine.rb:591:in `block (2 levels) in <class:Engine>'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/engine.rb:590:in `each'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/engine.rb:590:in `block in <class:Engine>'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:30:in `instance_exec'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:30:in `run'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:55:in `block in run_initializers'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:210:in `block (2 levels) in each_strongly_connected_component_from'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:209:in `block in each_strongly_connected_component_from'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:44:in `each'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:44:in `tsort_each_child'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:203:in `each_strongly_connected_component_from'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:180:in `each'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
from /Users/Iain/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:54:in `run_initializers'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/application.rb:215:in `initialize!'
from /Users/Iain/rails_projects/ali_bodill_photogrphy/config/environment.rb:5:in `<top (required)>'
from /Users/Iain/rails_projects/ali_bodill_photogrphy/config.ru:3:in `require'
from /Users/Iain/rails_projects/ali_bodill_photogrphy/config.ru:3:in `block in <main>'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
from /Users/Iain/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
from /Users/Iain/rails_projects/ali_bodill_photogrphy/config.ru:in `new'
from /Users/Iain/rails_projects/ali_bodill_photogrphy/config.ru:in `<main>'

我对此真的很陌生。

ali_bodill_photogrphy.application.configure do
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false

# Do not eager load code on boot.
config.eager_load = false

# Show full error reports and disable caching.
config.consider_all_requests_local       = true
config.action_controller.perform_caching = false

# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false

# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load

# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true

# 在运行时提供资产时添加额外的错误检查。 # 检查不正确声明的链轮依赖项。 # 提出有用的错误消息。 config.assets.raise_runtime_errors = true

# 因缺少翻译而引发错误 # config.action_view.raise_on_missing_translations = true 结束

【问题讨论】:

  • 显示您的config/environments/development.rb 文件。
  • 我想你有一个拼写错误的变量或方法ali_bodill_photogrphy
  • 环境配置文件通常以Rails.application.configure开头。

标签: ruby-on-rails ruby


【解决方案1】:

既然你是新人,那就说说调试过程

--

错误

此处显示错误(第一行):

未定义的局部变量或方法`ali_bodill_photogrphy' 主:对象(名称错误)

“计算机”相关问题的基本底线是错误的逻辑原因。开始寻找问题原因的合乎逻辑的地方是确定问题是什么;因此寻找错误信息

在您的情况下,消息说您的line 1 上没有ali_bodill_photography 方法config/environments/development.rb

ali_bodill_photogrphy.application.configure do

--

修复

这是 Rails 核心的问题。如果你改变了这个文件,你会想把它改回来;或查看其他文件以判断“正确”方法需要是什么。

我会给你一些来自我们的 Rails 4 应用程序的例子:

#config/environments/development.rb (4.1.4)
Rails.application.configure do

#config/environments/development.rb (4.0.0)
Appname::Application.configure do

#config/environments/development.rb (3.2)
AppName::Application.configure do

基于上述文件,我建议查看您的 Rails 版本,并修改 development.rb 文件的顶部以复制上述任一示例

因此,如果您有 Rails 4.1.4(最新),您可以将您的 all_bodill_photograph 替换为 Rails。如果您使用的是较低版本的 Rails,您似乎需要使用应用程序名称的常量化版本 - AppName::Application

【讨论】:

  • 感谢您的详细帮助。我所做的是打开另一个正在运行的 Rails 项目,然后查看了该文件。它有:'SampleApp::Application.configure do' 我将其复制到我遇到问题的文件中,但将名称更改为 'alibodillphotogrphy::Application.configure do' 但仍然收到此错误。 '/Users/Iain/rails_projects/ali_bodill_photogrphy/config/environments/development.rb:1:in &lt;top (required)&gt;': undefined local variable or method alibodillphotogrphy' for main:Object (NameError)'
  • 你需要用驼峰命名你的应用名称 - AliBodillPhotography
  • 是的,谢谢你的工作。家宴运行,但是当我转到本地主机时,我现在收到此错误。 '内部服务器错误您必须在应用程序的配置中设置 config.secret_key_base。'?
猜你喜欢
  • 1970-01-01
  • 2019-02-26
  • 2021-10-28
  • 2018-03-16
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
  • 2022-07-18
  • 2013-10-15
相关资源
最近更新 更多