我试图设置一个简单的href链接从我的公共文件夹下载.csv文件,但点击它时只是说“失败 - 没有文件”,但我知道所有其他路径到我的公用文件夹工作,因为所有图像都加载。我觉得我错过了一些我不知道的事情。我已经像这样设置了公共文件夹:
set :public_folder, File.dirname(__FILE__) + "/public"
,href如下:
<a href="/csv_file/<%=@file.name%>" download="updated_<%=@file.name%>" style="text-align: center;" download>Download</a>
我希望这是足够的信息。感谢
答案 0 :(得分:0)
示例项目结构。
$ tree
.
├── app.rb
├── Gemfile
├── public
│ └── lorem.csv
└── views
└── index.erb
我已经设置了省略局部变量的项目(在你的情况下是@file等)
#app.rb
require 'sinatra'
set :public_folder, File.dirname(__FILE__) + "/public"
get '/' do
erb :index
end
查看文件
#index.erb
<a href="/lorem.csv" style="text-align: center;" download>Download</a>
点击下载链接时,我得到的是,
您应该做的是检查您视图中的最终网址。还请分享路线块。
答案 1 :(得分:-1)
File.dirname(__ FILE__)返回相对路径。请尝试使用File.expand_path(__ FILE__)。