0

Railsを学ぶための簡単なブログを作っています。

すべてがほぼ完成し、ここで概説されているように、HTTP 認証を適用しようとしています --> http://berk.es/2011/03/29/simplest-authentication-in-rails-basic-authentication-with-a -logged_in-helper/

私の認証コードは、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 を介して渡したいと考えています。だから私は走った -->

heroku config:add ADMIN_ID=myusername
heroku config:add ADMIN_PASSWORD=mypassword

ログインしようとすると、「問題が発生しました」というメッセージが表示されます。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]: 

見たところ、渡した環境変数が検出されていないようです。あなたは私が何をすることをお勧めしますか?

4

1 に答える 1

0

あなたはそれらにアクセスする必要がありENV['ADMIN_ID']ますENV['ADMIN_PASSWORD']

于 2012-11-11T08:34:12.127 に答える