pathname_example.rb
Rails.root
# #<Pathname:/path/to/rails/>
Rails.root.join('hoge')
# #<Pathname:/path/to/rails/hoge>
Rails.root.join('hoge').join('unko')
# #<Pathname:/path/to/rails/hoge/unko>
Rails.root.join('hoge').join('unko').to_s
# "/path/to/rails/hoge/unko"
いちいち、root + '/' + 'app' + '/' + 'filename'
のようにディレクトリ階層を文字列的に繋げずにオブジェクト指向的に書くことができる。
Railsではそのまま引数に与えれば勝手にto_s
してくれるメソッドも多い。なるほど便利だ。PHPにも欲しいな。
Railsの機能じゃなくて、Rubyの標準ライブラリだったか。
http://doc.ruby-lang.org/ja/1.9.3/class/Pathname.html
root + 'app' + 'filename'
のように+
で連結もできる。
join()
メソッドは複数階層を一度に指定したい場合に有効とのこと。