deployしたサーバでmodelのメソッドを実行したくてrails consoleに入ろうとしたところ、以下のエラーが出た。
[[email protected] current]$ ./bin/rails c RAILS_ENV=production
config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
* development - set it to false
* test - set it to false (unless you use a tool that preloads your test environment)
* production - set it to true
環境変数はコマンドの前に書く
原因は
[[email protected] current]$ ./bin/rails c RAILS_ENV=production
この順番だった。
正解は
[[email protected] current]$ RAILS_ENV=production ./bin/rails c
こう。
まとめ
cronでrake taskを設定した時は、rakeコマンドの後にRAILS_ENVとかを書いて動いていたので、てっきりそれで良いのかと思ったけど、Linux的には先にENVを設定してからコマンドを叩かないと、ENVが設定される前にコマンドが実行されちゃうから当り前と言えば当り前か…。
コメント