Rails从公共文件夹下载文件

4
在我的本地环境中,我已经编写了。
   <%= link_to 'App', "/App.apk", data: { no_turbolink: true } %>

只需下载公共文件夹中存在的App.apk文件,它就可以正常工作。

但在生产环境中,同样的链接会出现错误。

 Not Found

 The requested URL /App.apk/ was not found on this server.

有人能告诉我为什么在不同的环境中它有不同的表现吗?

提前感谢您。


你应该在 app/config/environments/production.rb 中添加这行代码 config.serve_static_assets = true - Kedarnag Mukanahallipatna
谢谢您的回复,但它并没有起作用。 - anjali
@Anjalikhant,请检查我的答案,是否对您有用? - Vishal
好的,没问题。请给我半个小时,我正在处理其他工作。 - anjali
你有在服务器上检查公共目录中是否存在该文件吗?你可以检查 File.exist?("#{Rails.root}/public/app.apk") - Kedarnag Mukanahallipatna
是的,文件在那里。问题已解决,非常感谢您的回复。 - anjali
1个回答

8

不要在直接链接中添加路径,而是创建一个动作从公共文件夹下载文件。

routes.rb

get 'download_apk'

在您的控制器中添加以下操作,以下载apk文件。
def download_apk
  send_file("#{Rails.root}/public/App.apk")
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接