Bagaimana cara mendapatkan jalur direktori root aplikasi Rails saya?
ruby-on-rails
fivetwentysix
sumber
sumber
Rails.root.join(*%w( app assets images logo.png ))
.Rails.root / 'app' / 'assets' / 'images' / 'logo.png'
Untuk ketepatan super, Anda harus menggunakan:
yang akan memungkinkan aplikasi Anda untuk bekerja pada platform
/
yang bukan pemisah direktori, harus ada yang mencoba dan menjalankannya pada satu.sumber
Rails.root.join('foo','bar')
mengevaluasi ke objek Pathname yang @path adalah '/ Users / purplejacket / my_rails_app / foo / bar'Anda dapat mengakses jalur aplikasi rel menggunakan variabel
RAILS_ROOT
.Sebagai contoh:
sumber
Selain semua jawaban yang benar lainnya, karena
Rails.root
merupakanPathname
objek, ini tidak akan berfungsi:Anda bisa menggunakan sesuatu seperti
join
Jika Anda ingin string gunakan ini:
sumber
Rails.root + 'app/assets'
tidak bekerja, tapi yajoin
ini lebih rapi.Dalam beberapa kasus, Anda mungkin menginginkan root Rails tanpa harus memuat Rails.
Misalnya, Anda mendapatkan siklus umpan balik yang lebih cepat ketika model TDD yang tidak bergantung pada Rails dengan meminta
spec_helper
alih - alihrails_helper
.Yang memungkinkan Anda untuk dengan mudah memuat Obyek Ruby Lama Biasa dari file spesifikasi mereka.
sumber
Kamu bisa memakai:
Tetapi untuk bergabung dengan aset Anda dapat menggunakan:
Semoga ini bisa membantu Anda.
sumber
Cukup dengan Rails.root atau jika Anda ingin menambahkan sesuatu, kami dapat menggunakannya seperti Rails.root.join ('aplikasi', 'aset'). To_s
sumber
Cukup Dengan menulis Rails.root dan menambahkan apa pun dengan Rails.root.join (*% w (aset aplikasi)). To_s
sumber