我在
app
中有一个名为 csv
的目录,在这个目录中我有一个名为 names.csv
的文件
我想使用 File.read(path:string)
函数来读取文件。file = File.join(Rails.root, 'app', 'csv', 'names.csv')
File.read(file)
你应该这样做:
Rails.root.join "app", "csv", "names.csv"
Rails.root 返回一个 PathName 对象。 PathName 有一个
join
方法,它接受任意数量的参数并将其附加到路径名以创建新路径。
在此处阅读 PathName#join:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/pathname/rdoc/Pathname.html#method-i-join
Rails.root
指向 Rails 项目的顶部文件夹,因此路径为:
File.read(File.join(Rails.root, 'app','csv','names.csv'))
感谢上面的回答,它对我来说也是这样:
"#{Rails.root}/public/spreadsheets/file_name.xlsx"
对我来说,为文件夹路径创建变量并为每个文件添加具有如下文件名的变量是一个好主意:
source = File.join(Rails.root, 'sources', 'folder_with_files')
file1 = File.read("#{source}/file1.txt")
file2 = File.read("#{source}/file2.txt")
...