1
1

Railsでプロジェクトルートディレクトリのパスから辿れるようにする

Posted at

概要

  • スクリプトを実行するときに外部ファイルが必要な場合が多々ある
  • どこに置く?となると、~/tmp/ が良いんじゃなかろうかと
  • スクリプトからどうやって取得する?で教えてもらった話の備忘録

結論

Rails.root.join を利用しましょう

csv_path = Rails.root.join('tmp', 'file_name.csv')

コンソールでいじるとこんなオブジェクトが返ってきます(僕の環境下ではDocker利用しており、プロジェクトルートディレクトリが/appにしているので、/appが表示されています)

$ rails console
[1] pry(main)> Rails.root
=> #<Pathname:/app>
[2] pry(main)> Rails.root.join
=> #<Pathname:/app>
[3] pry(main)> Rails.root.join('tmp')
=> #<Pathname:/app/tmp>
[4] pry(main)> Rails.root.join('tmp', 'test.csv')
=> #<Pathname:/app/tmp/test.csv>
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1