局部变量或方法`config'for main:Object(NameError) [英] local variable or method `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 theRails.application.configure do
block.
config/environment.rb
in a typical Rails 4 application is just arequire
andRails.application.initialize!
, and should not need modification.这篇关于局部变量或方法`config'for main:Object(NameError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!