技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

Railsでファイル操作するとき

Railsでファイル操作するとき

Railsでファイル操作するときはDir.children(Ruby2.5以上で利用可能)ではなくrails.root.joinを利用する方が良い。

Dir.children実行時ファイルからの相対pathで取得してしまうので、実行箇所によって動かなくなるケースが稀にある。

一方rails.root.joinはrootディレクトリからの相対パスで取得できるので、実行個所によって動くなるケースがない。

参考サイト

Ruby 2.5新メソッド: Dir.children と Dir.each_child(翻訳)|TechRacho by BPS株式会社

Rails.root.join("foo", "bar")よりも、Rails.root.join("foo/bar")が良いのでは?というお話 - Qiita