Rails Rails 2 里的 named_scope,一段值得研究的代码

jypandjip · 2014年08月04日 · 最后由 jypandjip 回复于 2014年08月07日 · 2035 次阅读

有同学对 rails2 的源代码感兴趣吗?前段时间我研究了一下ActiveRecord里的named_scope,感觉真的是可以学到很多东西和技巧,相信研究过的同学对会它的实现拍手叫绝,真的是把 ruby 的特性发挥到了极致,在这里我贴出两个 github 链接,感兴趣的同学快去研究研究吧,我个人觉得能读懂这段代码并且在自己的项目中灵活运用,你的编码水平会提高一大截。

https://github.com/rails/rails/blob/2-3-stable/activerecord/lib/active_record/named_scope.rb https://github.com/rails/rails/blob/2-3-stable/activerecord/lib/active_record/base.rb#L2132L2190

祝你好运!

穿越了?

@nightire 这段代码写的真的是很给力,刚开始研究的时候感觉好深奥 (当然现在也觉得这段代码很给力)。

#2 楼 @jypandjip 当你看完 Rails 4 的 scope 不知道你有没有后悔抱着 2.3 不放。祝你好远

@leekelby 非也非也,我所关心的并不是 rails4 里的 scope 实现的有多么优秀,而是 rails2 里的 named_scope 的实现很让人匪夷所思。rails3 和 rails4 里的我都已经看过了。

强烈建议研究一下这段代码,不要因为它来自于 rails2 而被忽略。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号