每个人都像是清扫车。但任何人都可以告诉我如何为特定的控制器创建清扫文件。我复制粘贴代码但它不起作用。
答案 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
中