🖥

Ruby on Rails | rails console で直接ファイルを require する方法

に公開

/path/to/rails-application/some/file.rbrequire したい。

絶対パス指定

Rails.root から読む。

require "#{Rails.root}/some/file"

# => true

相対パス指定

相対パス指定だと、Railsアプリケーションのトップディレクトリを基準に読めた。

require_relative "some/file"

# => true

エラー例

require で相対パスから読もうとすると、 ./ を付けない時にエラーになるので注意。

require "some/file"

LoadError: cannot load such file -- some/file

( なんでだよ! と思ったが、この書き方だと多分、インストール済みの ruby gem などだけから読もうとする気がする)

補足

ちなみに実際に rails console を起動したディレクトリと、相対パス指定した時の基準ディレクトリは関係ない様子。

カレントパスの確認はたぶんこいつ。

Dir.pwd

# => "/path/to/rails-application"

環境

  • pry-rails (0.3.6)
  • rails (5.1.5)
  • ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]

参考

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2018-07-18

Discussion