0

私はRubyの初心者です。このチュートリアルに従ってインストールしました:http://udooz.net/blog/2011/02/facebook-app-using-rails-koala/

さて、これを行うと、railsはコントローラーを生成します

Railsはコントローラーのホームインデックスを生成します

このエラーが発生します:

/home/hiccup-pro/Documents/qstack/config/environment.rb:8:in `<top (required)>': undefined local variable or method `config' for main:Object (NameError)
from /home/hiccup-pro/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.3/lib/rails/application.rb:103:in `require'
from /home/hiccup-pro/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.3/lib/rails/application.rb:103:in `require_environment!'
from /home/hiccup-pro/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.3/lib/rails/commands.rb:25:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

それを私が直した。少なくともそのバグですが、今は別のバグがあります。それは、初期化されていない定数LoginControllerです。少しググってみたところ、environment.rbでconfig。*について言及するべきではないことがわかりました。とにかく、これは私のenvironment.rbです

# Load the rails application
require File.expand_path('../application', __FILE__)

# Initialize the rails application
Qack::Application.initialize!
config.action_controller.allow_forgery_protection = false

では、なぜこのuninitialized constant LoginControllerエラーが発生するのですか?

4

1 に答える 1

1

あなたのenvironment.rbを見ずに言うのは難しいですが、私の最善の策はあなたがコードを置くことです

config.action_controller.allow_forgery_protection = false
config.gem "koala"

ブロックの外側

Rails::Initializer.run do |config|
  ....
end

それはenvironment.rbの内部です。そのようなブロックがない場合は、次のように追加します。

Rails::Initializer.run do |config|
  config.action_controller.allow_forgery_protection = false
  config.gem "koala"
end
于 2012-04-30T13:25:32.513 に答える