2013-08-20 33 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以查看在何處以及如何使用此應用程序。

相關問題