使用Rails 3.2
我正在尝试从帮助程序调用{{1}}(Rails视图方法),但收到错误:
expire_fragment
我正在尝试有条件地清除缓存。这是我视图中的辅助方法调用
undefined method `expire_fragment' for #<#<Class:0x00000118977110>:0x00000103b853b8>
在帮助者中
clear_cache_keys_if(params[:cc], [@product, :search_filters])
我原以为Rails片段缓存方法可以在辅助模块中访问,但似乎并非如此。
我把它改成了
def clear_cache_keys_if(condition, keys = [])
if condition
keys.each do |key|
expire_fragment(key)
end
end
end
这很有效。
此方法在视图中可用。它可以从控制器获得。我真的不明白为什么它不能在帮助器中使用。我在这里错过了什么?为什么帮助器中没有它,暴露它的最佳方式是什么?感谢