Missing `secret_key_base` for 'production' environment が出たのをどうにかする件
「Ruby on Rails環境構築ガイド」を読みつつ、RoRアプリの開発からデプロイまでの
手順をお勉強中。第7章「RubyのビルドからRailsアプリケーションの設置まで」に
そって、自作したRailsアプリ(taskappという)を
bundle exec rails s -e production
して、ブラウザからport3000に対してアクセスしたら、以下のエラーが
ブラウザに表示された。
Internal Server Error
Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`
WEBrick/1.3.1 (Ruby/2.1.2/2014-05-08) at taskapp.com:3000"
解決方法を調べていたら、以下をみつけた。
「実践Ruby on Rails4」P.103
http://goo.gl/KnCu3p
同著も持っているので読んでみて、以下で解決
ruby -e 'require "securerandom"; print SecureRandom.hex(64)' > ~/.taskapp_secret_key_base
vi ~/.bash_profile
で、以下の行
export SECRET_KEY_BASE=`cat ~/.taskapp_secret_key_base`
を追加してから再度、シェルにログインしてSECRET_KEY_BASEにランダムなキー文字列が 設定されていることを確認。
その後、
bundle exec rails s -e production
して、ブラウザからアクセスしたらRailsアプリのトップページが表示された。