公司需要在后台动态维护一个字体库,管理员上传了 svg 后程序自动生成对应的字体文件,然后需要在不重新启动服务的情况下,让前端及时的加载。
使用 fontcustom 来生成字体文件,然后调用 rake 来重新编译 assets 静态资源,再上传到 cdn 上。
if Fontcustom::Base.new(options,glyphs).compile
if Rails.env.production?
rake_assets(:clean)
rake_assets(:precompile)
rake_assets(:cdn)
end
ActionController::Base.view_paths.paths.first.clear_cache
end
以上代码是在队列中完成 最后一行是清除 view 的模板缓存,此时,模板确实会重新加载,但是 assets 的指纹码并没有更新,请问有什么方法或接口能让 rails 读新的指纹码?感觉是不是还漏了什么清除缓存的接口?