Rails
spring
console

Settingで環境変数を変更したが、Rails consoleで反映されないとき

起きている問題

config/settings.yml というファイルから環境変数を変更した後にrails c で変更が反映されているのか確かめていたのだが、何度やっても変更が反映されない。

結論: Springをストップさせる

以下のコマンドでspringが走っているかどうかを確かめてみると、走っているのが確認できるかと思います。

bundle exec spring status
Spring is running:

.......
.......

今度は以下のコマンドを打って一旦springをストップさせてみましょう。

bundle exec spring stop

これで再度rails c を実行すれば、変更が反映されていることが確認できるかと思います。

そもそもSpringとは何者なのか

springは、アプリケーションプリローダーのことであり、
rails コマンドを実行するまでにかかる時間を短縮させてくれます。

railsでは様々なライブラリのロードが処理されているので、実行するにも時間がかかってしまいます。
この待ち時間は、rails c や rails s といったrailsコマンドを何度も使う開発において、ストレスになりかねません。

そこでspringを使うことで、裏側で事前にライブラリをロードをしてくれるので、待ち時間を短縮することができるのです。

springめ!と思っていたがついでに調べてみるととてもいいやつだった。

参考: https://ja.stackoverflow.com/questions/23286/rails-config-%E3%81%AE%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%81%8C%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84

http://ruby-rails.hatenadiary.com/entry/20141026/1414289421