libの場所について。

autoload – Rails 5: Load lib files in production – Stack Overflow

Putting lib in app/lib is recommended by rails members

こんなやりとりを見て「おっ、そうなの?」ってことでまるっと移動してみたら、自分で作ったrakeタスクが見えなくなってしまった。
えー、ってことでソースを読んだからこんな感じになってた。

rails/engine.rb at v5.0.2 · rails/rails

paths[“lib/tasks”].existent.sort.each { |ext| load(ext) }

Rails.root直下に置くならconfig.eager_load_pathsに追加しなきゃならないし、app下に置くならrakeタスクは元の場所に残さなければならないから「lib」というディレクトリが2つ存在することになるしで、どっちがいいかちょっと悩ましい。のでした。後者かなぁ。

タイトルとURLをコピーしました