在rails中生成清扫器时出错

时间:2015-05-07 08:13:45

标签: ruby-on-rails

每个人都像是清扫车。但任何人都可以告诉我如何为特定的控制器创建清扫文件。我复制粘贴代码但它不起作用。

2 个答案:

答案 0 :(得分:0)

Sweepers是缓存世界的终结符,负责在模型对象更改时使缓存过期。他们通过半观察者,半过滤器和两个角色的回调来实现这一点。扫地车示例:

public Browser_app(string Links, string Referal, string ua, string Ip, int Port)
    {
        InitializeComponent();

        #region navigate to url with custom data                       
        Gecko.Xpcom.Initialize("xulrunner");
        Gecko.GeckoPreferences.Default["extensions.blocklist.enabled"] = false;
        Gecko.GeckoPreferences.Default["general.useragent.override"] = ua;
        Gecko.GeckoPreferences.User["network.proxy.type"] = 1;
        Gecko.GeckoPreferences.User["network.proxy.socks"] = Ip;
        Gecko.GeckoPreferences.User["network.proxy.socks_port"] = Port;
        Gecko.GeckoPreferences.User["network.proxy.socks_version"] = 5;
        geckoWebBrowser1.Navigate(Links);                                           
        #endregion                       
    }

扫描程序在希望使用cache_sweeper类方法执行其作业的控制器中分配:

class ImageSweeper < ActionController::Caching::Sweeper
  observe Image

  def after_save(record)
  def after_save(image)
    expire_cache(image)
  end

  def after_destroy(image)
    expire_cache(image)
  end

  def expire_cache(image)
    ##expire_fragment #'image'
      expire_cache(image)
  end
end

在上面的示例中,有三个操作负责使这些缓存过期

只有在class ImageController < ApplicationController cache_sweeper :image_sweeper, :only => [ :edit, :destroy, :share ] end

中有config.action_controller.perform_caching = true时才能使用上述内容

答案 1 :(得分:0)

我得到了它的工作。清扫文件将在app / sweepers / controllername(没有s)_sweeper.rb