从Rails(不是Rake)到期Sprockets缓存

时间:2015-02-25 04:28:33

标签: ruby-on-rails caching asset-pipeline sprockets ruby-on-rails-4.1

我有一个特殊情况,如果某个特定文件发生变化,我需要使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

谢谢,

埃里克

0 个答案:

没有答案