У меня внутри app
каталог с именем csv
и внутри этого каталога у меня есть файл под названием names.csv
Я хочу использовать функцию File.read(path:string)
для чтения файла.
Каков относительный путь к файлу?
Rails: путь к файлу
Ответ 1
file = File.join(Rails.root, 'app', 'csv', 'names.csv')
File.read(file)
Ответ 2
Вы должны сделать: Rails.root.join "app", "csv", "names.csv"
Rails.root возвращает объект PathName. PathName имеет метод join
, который принимает любое количество аргументов и добавляет его в путь, чтобы создать новый путь.
Читайте на PathName # здесь:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/pathname/rdoc/Pathname.html#method-i-join
Ответ 3
Rails.root
указывает на верхнюю папку вашего проекта rails, поэтому путь будет следующим:
File.read(File.join(Rails.root, 'app','csv','names.csv'))
Ответ 4
Спасибо за ответы выше, он так же работал у меня:
"#{Rails.root}/public/spreadsheets/file_name.xlsx"