BackEnd

configに追記したのに、rails runnerが起動しない?

投稿日:2017年8月18日 更新日:

はじめに

tonnyです。
最近はVue.js関連の記事を書いておりましたが、今回はRailsに関して困ったことを記載したいと思います。
割と短めです。

環境

  • Ruby: 2.4.1
  • Ruby on Rails: 5.1.3
  • Mac OS X: 10.10.5

rails runnerを使用してみる

rails runnerコマンドは、Railsでバッチ処理する際に使用します。
すでに多くの方が記事にされておりますので、簡単にまとめたいと思います。
runner (リファレンス)

バッチファイルの作成

バッチファイルを作成します。
人や組織によるかと思いますが、lib/tasks以下に作成することが一般的なようです。
簡単なバッチを作成します。

configにパスを追記

libはRailsで自動的にロードされないので、config/application.rbに追記してあげます。

実行

これでパスに追加されたので、下記のコマンドで実行します。

ところが…

configに追記しているはずなのに、いつまでたってもuninitialized constantのエラーが消えません。

ちなみに、autoload_pathを確認するコマンドは下記になります。

解決方法

結論からいうと、rails runnerコマンドの裏で動いているSpringが悪さをしていたようです。
こちらの記事を参考にさせていただきました。
rails runnerでconfig設定値が再読み込みされない問題の対処方法

詳細はよく分かっておりませんが、Spring経由で実行するとキャッシュ?されてしまうのかな、と思っています。

おまけ(runnerコマンドでバッチに引数を渡す)

あまりやらないかもしれませんが、コマンドからバッチに引数を渡す場合は、""で囲います。

さいごに

今回はRailsのエラーに関する備忘録になります。

私自身が困ったエラーも今後はまとめていこうと思いますので、よろしくお願いします。

page_footer_300rect




page_footer_300rect




-BackEnd
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

麻雀で自分が何を切るか学習させる

1 はじめに2 プロジェクト名を決めてみる3 何切る問題で考慮される要素3.1 手牌3.2 ドラ3.3 考慮していない要素(本当は入れたい)4 学習の方法5 さいごに はじめに 前回執筆しました、配牌 ...

Kotlinでのnullの基本的な扱いかた

1 はじめに2 基本的にnullを許容しない3 nullを許容するNullable4 Nullableをnon-nullに変える4.1 nullチェックとスマートキャスト4.2 エルビス演算子4.3 ...

rails

さらば「rails migrate」、よろしく「ridgepole」

1 はじめに2 Ridgepoleとは3 rails migrateではなく、Ridgepoleを選定した理由4 rails migrateからRidgepoleへの移行手順5 capistrano3 ...

Go言語

Go言語 gocraft/workを使って常駐プロセスでジョブを処理させる

1 はじめに2 workの特徴3 workを使えるようにする3.1 Redisのインストール3.2 Go用のライブラリインストール4 Enqueue〜ジョブ実行まで4.1 Enqueue側4.2 ジョ ...

rails

RailsでAjax処理で画面を更新する

1 はじめに2 View(遷移元)の設定3 Controllerの実装4 View(遷移先)の実装5 参考6 さいごに はじめに RailsでAjax処理で画面を更新する方法を簡単に紹介します。 Vi ...

フォロー

follow us in feedly

AppLink

英語

page_side_300rect

2017年8月
« 7月 9月 »
 12345
6789101112
13141516171819
20212223242526
2728293031 

アプリ情報

目標を達成したい方を応援する、TODOアプリもリリースしております。 下記のアイコンから無料でダウンロードできます。

Web版MyCoach

私たちはより広い方にコーチングを知ってもらいたいと考えています。 下記のサイトにて、コーチの方々を紹介しておりますので、よろしければご覧ください。