2013-08-20 77 views
1

在Rails应用程序,我的工作之一,我可以找到一个名为asset.rb在配置/初始化 - Rails应用程序3.2.13和Ruby 2.0.0-P0

asset.rb 

config/initializers目录它包含以下信息:

ActionController::Base.asset_host = Proc.new { |source, request| 
    if request.env["REQUEST_PATH"].include? ".pdf" 
    "file://#{Rails.root.join('public')}" 
    else 
    "#{request.protocol}#{request.host_with_port}" 
    end 
} 

谁能告诉我它的真正含义。我们的应用程序中有PDF报告生成功能。无论如何,我已经搜索了很多,找不到更好的答案。

请帮忙。谢谢:)) -

回答

1

它看起来像你的pdf文件(可能由你的PDF报告生成)存储在/public目录。该代码正在做的是首先检查请求的路径是否包含字符串“.pdf”。

如果REQUEST_PATH包含.pdf然后设置Base.asset_hostfile://path_to_app/public否则例如https://host:port

所以我认为在某个地方做什么是,如果有pdf文件的请求,然后服务于file://协议的文件,而不管请求协议,并为任何其他文件使用请求协议。

您可以在您的应用程序中搜索Base.asset_host以查看在何处以及如何使用此应用程序。

相关问题