Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku NameError(未初始化的常量ApplicationController::ADMIN\u ID)_Ruby On Rails_Ruby On Rails 3_Heroku - Fatal编程技术网

Ruby on rails Heroku NameError(未初始化的常量ApplicationController::ADMIN\u ID)

Ruby on rails Heroku NameError(未初始化的常量ApplicationController::ADMIN\u ID),ruby-on-rails,ruby-on-rails-3,heroku,Ruby On Rails,Ruby On Rails 3,Heroku,我正在制作一个简单的博客来学习rails 一切都快完成了,我正在尝试应用HTTP身份验证,如下所述--> 在ApplicationController中,我的身份验证代码如下所示 class ApplicationController < ActionController::Base protect_from_forgery protected def authenticate authenticate_or_request_with_http_basic d

我正在制作一个简单的博客来学习rails

一切都快完成了,我正在尝试应用HTTP身份验证,如下所述-->

在ApplicationController中,我的身份验证代码如下所示

class ApplicationController < ActionController::Base
  protect_from_forgery

  protected
    def authenticate
      authenticate_or_request_with_http_basic do |username, password|
        username == ADMIN_ID && password == ADMIN_PASSWORD
      end
    end
end
当我尝试登录时,虽然我收到了一条“出错”的消息。以下是heroku日志的内容:

GET fast-chamber-1998.herokuapp.com/admin dyno=web.1 queue=0 wait=0ms service=10ms status=500 bytes=643
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: Started GET "/admin" for 60.245.65.132 at 2012-11-11 07:18:47 +0000
2012-11-11T07:18:47+00:00 app[web.1]: Processing by PostsController#admin as HTML
2012-11-11T07:18:47+00:00 app[web.1]: Completed 500 Internal Server Error in 1ms
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: NameError (uninitialized constant ApplicationController::ADMIN_ID):
2012-11-11T07:18:47+00:00 app[web.1]:   app/controllers/application_controller.rb:7:in `block in authenticate'
2012-11-11T07:18:47+00:00 app[web.1]:   app/controllers/application_controller.rb:6:in `authenticate'
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: 

从外观上看,我认为我传递的环境变量似乎没有被检测到。你建议我做什么

您应该通过
ENV['ADMIN\u ID']
ENV['ADMIN\u PASSWORD']

GET fast-chamber-1998.herokuapp.com/admin dyno=web.1 queue=0 wait=0ms service=10ms status=500 bytes=643
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: Started GET "/admin" for 60.245.65.132 at 2012-11-11 07:18:47 +0000
2012-11-11T07:18:47+00:00 app[web.1]: Processing by PostsController#admin as HTML
2012-11-11T07:18:47+00:00 app[web.1]: Completed 500 Internal Server Error in 1ms
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: NameError (uninitialized constant ApplicationController::ADMIN_ID):
2012-11-11T07:18:47+00:00 app[web.1]:   app/controllers/application_controller.rb:7:in `block in authenticate'
2012-11-11T07:18:47+00:00 app[web.1]:   app/controllers/application_controller.rb:6:in `authenticate'
2012-11-11T07:18:47+00:00 app[web.1]: 
2012-11-11T07:18:47+00:00 app[web.1]: