我正在为客户端提供一个片段,以粘贴到引用我的application.js文件的静态html中。
因为它位于我无法控制的页面上,而且我不想让客户端每次推送版本时都更新其代码段,我想知道是否有办法返回我的摘要 - application.js版本当请求正常版本以确保浏览器获得最新版本时?
我可以在脚本src上设置缓存清除时间戳,但不确定这是否真的可靠。
有关处理此问题的最佳方法的任何想法?
答案 0 :(得分:1)
我们正在为我们的“公共”javascript做类似的事情,它已集成到第三方网络应用程序中。
我们这样做的方法是在capistrano部署期间在我们的资产服务器上创建一个符号链接,指向文件的非摘要名称。因为它们只是我们网络服务器上的文件,所以其余的都是apache。
答案 1 :(得分:0)
我认为必须优雅的方法是让一些Controller对你的资产进行一些重定向302。
您可以将代码链接/public-assets/my_assets
在您的路线中创建路线:
match '/public-assets/:asset_name' => 'PublicAsset#index'
并创建您的控制器PublicAssetController
class PublicAssetContoller < ApplicationController::Base
def index
redirect_to asset_path(params[:asset_name])
end
end