新手问题 请问一下,很多 model 里都有某个方法,想把它们单独拎出来 DRY 的话,一般应该放哪里呢?

hexawing · 2013年03月15日 · 最后由 hexawing 回复于 2013年03月19日 · 2519 次阅读

helper 里吗?或者是都写到另外一个 Model 里再都引用这个模块?

Concern 看看最近 Yedingding 分享的重构经验吧 http://blog.jobbole.com/34890/

#1 楼 @xds2000 #2 楼 @Magic #3 楼 @xmonkeycn 感谢帮助,终于成功地 concern 了几个模型里的方法,太爽了!

#4 楼 @hexawing 我一直想用 concern,但是没机会啊。暂时找不到场景。

没用过 concern。如果只是要 share 某些 methods,只需把它们定义在一个 module 里面,然后 include 这个 module 就好了。需要注意的是,在启动 rails 的过程中,require 这个 module。

#5 楼 @zgm 我个人是用在分页上。 我前端用的 ExtJS,它默认就会传一个 start limit 过来,然后有时候要排序还会传 sort 什么的,于是我把每个模型的这些方法给公用了

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