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のエラーに関する備忘録になります。

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

blog-page_footer_336




blog-page_footer_336




-BackEnd
-

執筆者:


comment

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

CAPTCHA


関連記事

rails

RailsでSidekiqを使ってみた

1 はじめに1.1 実行環境2 前準備2.1 Redisのインストール3 Railsの準備3.1 プロジェクト作成3.2 新規登録時にAPIを叩く4 Sidekiqの準備4.1 Workerを作る5 ...

laravel logo

[Laravel] ログの扱い方 [5.8]

1 はじめに2 環境3 Monologについて4 コード上で設定する方法5 config/logging.phpで設定する方法6 おまけ:ログレベルについて7 さいごに8 おすすめ書籍 はじめに こん ...

laravel logo

[Laravel]データベースの暗号化について考えてみる

1 はじめに2 環境3 Laravelでの暗号化4 暗号化されたカラムは、そのままではLIKE検索ができない4.1 問題点4.2 解決案1:全件取得してPHP側でがんばって検索する4.3 解決案2:暗 ...

php logo

PHP入門 〜文字列と数値の操作〜

1 はじめに2 基本ルール2.1 開始と終了のタグ2.2 ホワイトスペース2.3 大文字と小文字の区別2.4 コメント2.5 変数の定義3 文字列の操作3.1 文字列の定義3.2 無駄なスペースを削除 ...

PHPerだけどKotlinを勉強したって良いよね その2〜コンストラクタ編〜

1 はじめに2 コンストラクタ2.1 プライマリコンストラクタ2.2 セカンダリコンストラクタ2.3 ニックネームのみを入力した人2.4 ニックネームと email を入力した人2.5 Faceboo ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年 8月
 12345
6789101112
13141516171819
20212223242526
2728293031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。