Ruby on rails 如何在rails中为非静态文件提供服务
我有一个动作,生成一个PDF文件并保存在/public/output.PDF中 当我设定Ruby on rails 如何在rails中为非静态文件提供服务,ruby-on-rails,Ruby On Rails,我有一个动作,生成一个PDF文件并保存在/public/output.PDF中 当我设定 config.serve_static_assets = false 找不到此文件 怎么了?来自: “config.service\u static\u资产将Rails自身配置为服务于静态 默认为true,但在生产环境中为 关闭作为服务器软件(如Nginx或Apache)用于运行 应用程序应该服务于静态资产,而不是默认的 运行时将此设置为true(绝对不推荐!)或 使用WEBrick在生产模式下测试你的应
config.serve_static_assets = false
找不到此文件
怎么了?来自:
“config.service\u static\u资产将Rails自身配置为服务于静态
默认为true,但在生产环境中为
关闭作为服务器软件(如Nginx或Apache)用于运行
应用程序应该服务于静态资产,而不是默认的
运行时将此设置为true(绝对不推荐!)或
使用WEBrick在生产模式下测试你的应用程序。否则你不会
能够对定期存在的文件使用页面缓存和请求
在公用目录下,您的Rails应用程序将被点击。“
这意味着,如果您将其设置为false,Rails将不会服务于公用文件夹中的任何资产,因为假定前端web服务器(apache/nginx)将处理它。这说明了Rails的负载,因为前端服务器在直接为文件提供服务方面要高效得多。经过测试,我得出了以下结论: 1) 使用命令时
rails s -e production
Rails只提供静态文件。编译资产后创建的任何其他文件都将找不到
要处理这个问题,您需要在Apache、Nginx或其他web服务器下执行应用程序。这些web服务器将为您提供这些文件
这看起来很明显,但对初学者来说不是这样。我已经读过这篇文章,但我没有完全理解。事实上,Apache将为我提供这些文件。