我有一个特殊情况,如果某个特定文件发生变化,我需要使Ruby / Rails 中的Sprockets缓存(所有样式表)到期。
到目前为止,我的(失败)方法是先加dependency_fresh?
并尝试使索引失效。
module SprocketsAssetWrapper
def dependency_fresh?(environment, dep)
if <file is changed>
# Attempt to expire the Sprocket's Environment
# Errors with "can't modify immutable index"
environment.send(:expire_index!)
<reset file as unchanged>
end
super environment, dep
end
end
class Sprockets::Asset
prepend SprocketsAssetWrapper
end
评论时,environment.send(:expire_index!)
错误can't modify immutable index
。
任何帮助都会很棒。我在Rails 4.1.4上安装了sprockets-rails
。
谢谢,
埃里克