ruby Rails:文件路径

niwlg2el  于 11个月前  发布在  Ruby
关注(0)|答案(5)|浏览(104)

我在app中有一个名为csv的目录,在这个目录中我有一个名为names.csv的文件,我想使用File.read(path:string)函数来读取该文件。
文件的相对路径是什么?

izj3ouym

izj3ouym1#

file = File.join(Rails.root, 'app', 'csv', 'names.csv')
File.read(file)

字符串

6ioyuze2

6ioyuze22#

你应该做:Rails.root.join "app", "csv", "names.csv"
root返回一个PathName对象,PathName有一个join方法,它接受任意数量的参数,并将其附加到路径名以创建新路径。
阅读PathName#加入这里:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/pathname/rdoc/Pathname.html#method-i-join

jv4diomz

jv4diomz3#

Rails.root指向rails项目的顶层文件夹,因此路径为:

File.read(File.join(Rails.root, 'app','csv','names.csv'))

字符串

t1qtbnec

t1qtbnec4#

谢谢你的回答,我也是这样做的:

"#{Rails.root}/public/spreadsheets/file_name.xlsx"

字符串

ldxq2e6h

ldxq2e6h5#

对我来说是一个伟大的想法,使变量的文件夹路径和每个文件添加变量的文件名一样:

source = File.join(Rails.root, 'sources', 'folder_with_files')
    
file1 = File.read("#{source}/file1.txt")
file2 = File.read("#{source}/file2.txt")
...

字符串

相关问题