局部变量或方法`config'for main:Object(NameError) [英] local variable or method `config' for main:Object (NameError)

查看:125
本文介绍了局部变量或方法`config'for main:Object(NameError)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在关注这个帖子来整合Omniauth Twitter + Devise http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/ ,我遇到一个阻止我启动我的问题rails应用程序。

  /Users/javier/Desktop/definitive/config/environment.rb:8:in`< top(必需)>':未定义的局部变量或方法`config'for main:Object(NameError)
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/ lib / active_support / dependencies.rb:247:在`require'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb :247:在`block in require'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in`来自/Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/的load_dependency'
active_support / dependencies.rb:247:在`require'
from /Users/javier/Desktop/definitive/config.ru:3:in`block in< main>'
from / Users / javier /.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:55:in`instance_eval'
from /Users/javier/.rvm/gems/ruby -2.1.2 / gems / rack-1.5.2 / lib / rack / builder.rb:55:在`initialize'
from /Users/javier/Desktop/definitive/config.ru:in`new'$来自/Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5中的/Users/javier/Desktop/definitive/config.ru:in< main>'
的b $ b .2 / lib / rack / builder.rb:49:在`eval'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/ builder.rb:49:在`new_from_string'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/server.rb:277:in`build_app_and_options_from_config'
来自/Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/server.rb:199:in`app
来自/Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/server.rb:50:in`app'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/server.rb:314:in`wrapped_app'
from /Users/javier/.rvm /gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/server.rb:130:in`log_to_stdout'
from /Users/javier/.rvm/gems/ruby- 2.1.2 / gems / railties-4.1.1 / lib / rails / commands / server.rb:67:在`start'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems /railties-4.1.1/lib/rails/commands/commands_tasks.rb:81:in'在服务器'
从/Users/javier/.rvm/gems/ruby-2.1.2/gems/railties- 4.1.1 / lib / rails / commands / commands_tasks.rb:76:在`tap'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib /rails/commands/commands_tasks.rb:76:in`server'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/ commands_tasks.rb:40:在`run_command!'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/ rails / commands.rb:17:在`< top(required)>'
from / Users / javier / Desktop / definitive / bin / rails:8:在`require'
from / Users / javier / Desktop / definitive / bin / rails:8:在`< top(required)>'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1 .3 / lib / spring / client / rails.rb:27:在`load'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/ spring / client / rails.rb:27:在`call'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command .rb:7:在`call'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client.rb:26:in`从/Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/bin/spring:48:in运行'
'< top(required)>'
从/Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in`load'
from / Users / javier /.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in`< top(required)>'
from / Users / javier /桌面/权威/斌/春:1 6:在`require'
from / Users / javier / Desktop / definitive / bin / spring:16:in`< top(required)>'
from bin / rails:3:从bin / rails加载'
:3:在`< main>'

猜测问题是在$ code> config / environment.rb 的第8行,但找不到正确的修复。可能的是,environment.rb应该包含在config / environments /中?

解决方案

一些代码:

  config / environments / [environment] .rb 
pre>

其中 [environment] .rb 旨在表示以下文件之一:

  config / environments / development.rb 
config / environments / production.rb
config / environments / test.rb

您还可以将代码放在 config / application.rb 如果您想要在不同的环境中使用相同的设置。



显示的代码行以 config。* ,并将它们放在 Rails.application.configure do 块中。



只是一个 require Rails.application.initialize! / code>,并且不需要修改。


I'm following this post for integrating Omniauth Twitter + Devise http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/ and I have encounter an issue that is blocking me to start my rails app.

 /Users/javier/Desktop/definitive/config/environment.rb:8:in `<top (required)>': undefined     local variable or method `config' for main:Object (NameError)
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /Users/javier/Desktop/definitive/config.ru:3:in `block in <main>'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
from /Users/javier/Desktop/definitive/config.ru:in `new'
from /Users/javier/Desktop/definitive/config.ru:in `<main>'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/server.rb:199:in `app'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/server.rb:50:in `app'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/server.rb:130:in `log_to_stdout'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/server.rb:67:in `start'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:81:in `block in server'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `tap'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `server'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
from /Users/javier/Desktop/definitive/bin/rails:8:in `require'
from /Users/javier/Desktop/definitive/bin/rails:8:in `<top (required)>'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /Users/javier/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /Users/javier/Desktop/definitive/bin/spring:16:in `require'
from /Users/javier/Desktop/definitive/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'

I guess the issue is in the line 8 of config/environment.rb but can not find with the right fix. Is it possible that environment.rb should be included in 'config/environments/'?

解决方案

The article states that you should put some code in:

config/environments/[environment].rb

Where [environment].rb is meant to signify one of the following files:

config/environments/development.rb
config/environments/production.rb
config/environments/test.rb

You could also put the code in config/application.rb if you want the same settings across your different environments.

The lines of code shown start with config.*, and they should be placed inside the Rails.application.configure do block.

config/environment.rb in a typical Rails 4 application is just a require and Rails.application.initialize!, and should not need modification.

这篇关于局部变量或方法`config'for main:Object(NameError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆