在 Rails 中提供文件的最简单方法是什么?
我的意思是:我想去,比如说,http://myserver.com/assets/arbitraryfile.arbitraryformat并arbitraryfile.arbitraryformat让它在浏览器中加载,让浏览器决定是下载它还是显示它或其他什么别的。(特别是我计划制作一个从服务器调用 *.js 文件的书签,它依次加载一个 *.css 文件并从该文件下载一个字体 *.tty 文件。)
目前我有一个assets资源路由到一个assets#show动作,但我完全不确定如何编码我的show.
您可以将数据流式传输到浏览器,让它做它需要做的任何事情。您可以使用两种 rails 方法之一来获得所需的内容:
a) 发送数据
foo_data = "This is my data"
send_data(foo_data, filename: "foo_file.txt")
Run Code Online (Sandbox Code Playgroud)
b) send_file(允许您使用路径)
send_file("my_app/assets/public/pdf/my_pdf.pdf", type: "application/pdf")
Run Code Online (Sandbox Code Playgroud)
查看官方文档。