http://rubyforge.org/frs/?group_id=6192&release_id=23306 Rails Layout Extension, release 0.3.3 (Jun. 2008) Feature ======= 1. simplifying content_for usage by extracting key/value pair from content_for data like YAML and setting them as content_for variables 简化content_for的使用,采用类似YAML的key/value方 ...
今天执行一个页面的的时候发现日志输出了50行的"==> Got Users::User from cache. (0.00000)",觉得很奇怪,没有请求这么多次user啊,分析到后面发现原来是gettext跟cache_fu着两个插件的冲突引起的 他们的方法都是mixin到model中调用,都有一个cache?的方法,gettext的是判断是否cache i18n message,cache_fu的是判断是否cache model,结果gettext的cache?被cache_fu的cache?覆盖了,gettext内部调用了多次cache?就出现了上述的症状,虽然执行结果正常,但背后的行 ...
2008-04-16

Ruby元编程 打破private protected限制

关键字: meta programming
需求源于分离职责, 对一些涉及多个model的业务,专门分出一个service层来负责,一个service的方法就是装配不同model提供的方法,这些model的方法应该只能被service调用,而不能被controller调用,那就将这些方法设置为private或者protected(绝对限制是做不到的,起码跟普通方法有所区别,不能直接调用),外部只能用send来调用,但如果调用多的话,一是难看且麻烦,二是影响性能,那就meta programming一下吧 思路是动态产生调用者类的子类,然后委托该子类调用父类的private或protected方法,如果调用者是单件类(metaclass ...
ruby的框架确实还很不成熟(这点确实不比java爽),不废话,在某个initializer中加入如下代码 #这里写你要包含的目录 RCOV_APPS_FILES = [/app[\/\\][^\.]+\.rb/] require 'rcov' class Rcov::CodeCoverageAnalyzer alias_method(:old_dump_coverage_info, :dump_coverage_info) unless method_defined?(:old_dump_coverage_info) def dump_coverage_info(for ...
http://code.google.com/p/rquerypad/ 目前支持rails 2.0, rails 1.2(部分2.0 方式的查询))(谢谢Quake的测试及建议) Simplify query options with association automation and improve inner join for activerecord of rails 字段名包含关联信息,不需额外再写include或者joins 原来activerecord仅支持inner join在最后,现在没有这个限制 不想用svn,直接下载可以到 https://rubyforge.org/ ...
lllyq
搜索本博客
我的相册
Ffb80485-d689-36e1-9787-53691ad44877-thumb
filemanager
共 8 张
最近加入圈子
存档
最新评论