我正在开发一个Rails应用程序,我正在使用页面缓存来存储静态html输出.缓存工作正常.但是,我无法使缓存过期.
我相信我的问题部分是因为我没有从控制器到缓存.所有必要的操作都在模型中处理.这看起来应该是可行的,但我发现的所有对基于模型的缓存过期的引用似乎已经过时,或者在其他方面都不起作用.
在我的environment.rb文件中,我正在调用
config.load_paths += %W( #{RAILS_ROOT}/app/sweepers )
Run Code Online (Sandbox Code Playgroud)
我在/ sweepers文件夹中有一个LinkSweeper文件:
class LinkSweeper < ActionController::Caching::Sweeper
observe Link
def after_update(link)
clear_links_cache(link)
end
def clear_links_cache(link)
# expire_page :controller => 'links', :action => 'show', :md5 => link.md5
expire_page '/l/'+ link.md5 + '.html'
end
end
Run Code Online (Sandbox Code Playgroud)
那么...... 为什么在更新模型时不删除缓存页面?(进程:使用脚本/控制台,我从数据库中选择项目并保存它们,但是它们的相应页面没有从缓存中删除),我也在调用通常会调用的链接模型中的特定方法扫地机.两者都不起作用.
如果重要,则缓存文件是Links表中键值的md5哈希值.缓存页面存储为/l/45ed4aade64d427...99919cba2bd90f.html.
从本质上讲,似乎扫地机实际上并没有观察到链路.我还读到(这里)可能只是简单地将sweeper添加到environment.rb中的config.active_record.observers,但这似乎没有做到(我不确定app/sweepers的load_path)在environment.rb中避免了).
我们目前正在使用转发器来显示每行的输入字段,下拉菜单,复选框和日历项.所需的功能是允许用户添加最多10个(这可能会通过Web配置更改)项目(每行).
在转发器中列出这些是否合适或者我是以错误的方式进行此操作?我该怎么用?有什么比较轻的吗?
我有图像上传表格,用户附加图像文件,并选择图像大小来调整上传的图像文件(200kb,500kb,1mb,5mb,原始文件).然后我的脚本需要根据用户的可选大小调整图像文件大小,但我不知道如何实现此功能,
例如,用户上传一个1mb大小的图像,如果用户选择200KB来调整大小,那么我的脚本应该保存200kb大小.
有没有人知道或有类似任务的经验?
谢谢你提前回复.
我们需要查看一些非常大(7200+像素)的SVG.我发现的每个SVG查看器(包括现代Web浏览器)都不允许我们查看整个图像.没有任何滚动条,我们没有缩放选项.
是否有开源/免费应用程序可以帮助查看整个SVG图像?谢谢!
我想用C#构造一个IronPython元组.这些是PythonTuple的公共构造函数:
public PythonTuple();
public PythonTuple(object o);
Run Code Online (Sandbox Code Playgroud)
例如,我将如何构造元组(1,2,3)?
我正在努力学习并完全理解mvc模式并同时学习php.我决定构建基本的mvc框架,我可以在以后的各个项目中使用它.在这里阅读了很多关于mvc和模型/视图/控制器之间的耦合的帖子我有点迷失.目前我的理解是在Web应用程序控制器中处理来自浏览器的即将发出的请求,并且如果需要,调用方法模型类告诉模型改变其状态.然后控制器实例化将负责显示接口的适当视图类.这是我不明白的一点......
现在应该让控制器传递适当的模型对象来查看和查看应该在需要时从模型中提取所有数据吗?
或者控制器应该从模型中获取数据并将其传递给视图,可能将它全部包装到单个包装器对象中,视图将从那里访问并从中获取数据?
或者视图应该在需要时简单地实例化适当的模型并直接从模型对象中提取数据?
从我在这里读到的
http://www.phpwact.org/pattern/model_view_controller
我倾向于第三个选项,其中控制器不传递任何东西来查看和查看它需要的实例化模型.这是因为:
视图和控制器应具有相同的模型访问权限
控制器不应仅仅作为视图和模型之间的中介.
真的有一种正确的方法可以做到这一点,还是取决于项目?对于对OOP有深刻理解但对php相对较新且对mvc架构不太清楚的人,你会推荐什么方法.或者也许我应该选择对我来说似乎正确的东西并从我的错误中吸取教训(尽管我想避免这个错误;)?
现在,请让我知道,如果我的问题不明确将尝试更好地解释然后..我也读了很多关于stackoverflow的帖子和不同网站上的大量文章,但仍然会感谢帮助,所以提前感谢所有的答案.
在vim中,如果你将一段代码复制粘贴到一个文件中并且它变得非常糟糕,你可以点击==或= G将空格格式应用到行(或文件的末尾).有没有办法在Visual Studio 2008中获得此功能?我找到了这个宝石:
Ctrl-K,Ctrl-F将"选项"对话框的"文本编辑器"部分中语言的"格式"窗格上指定的语言的缩进和空格格式应用于所选文本.
我不确定这意味着什么,当我测试它时,我什么也没得到.
我想知道在哪里可以看到每个实例和SQL Server代理/作业启动/停止日志的SQL Server启动/停止日志?我正在开发一些工具来监控SQL Server状态.我正在使用SQL Server 2008 Enterprise.
乔治,提前谢谢
我正在使用Postgres,我有多个模式(即S1和S2).我想运行一个使用S1和S2中的表的查询.有可能做这样的事情:
select * from S1.table1, S2.table2
Run Code Online (Sandbox Code Playgroud)
感谢所有回复.