rails 里好像所有的业务逻辑都在 action,没有 service 层吗? 那如何复用一些 service 呢?通过 Module 的方式么?
你在用的 Rails 版本是多少?
#1 楼 @lgn21st 在学习的时候看到 redmine 的源码,发现好多逻辑都在 action,没有发现 service 层,难道是我没看到?
Redmine 的源码可能不适合初学者。http://ruby-china.org/topics/1335
#3 楼 @lgn21st 不适合初学者,是啥意思,是太高深了,还是说 redmine 写得太烂?
Redmine 是从 Rails 1.x 时代慢慢一点一点升级上来的,因为历史原因,现在也没有办法完全使用最新主流 Rails 版本的很多新功能,而且项目复杂庞大,代码质量... 至少我看了以后认为不高,在 Rails 2.x 时代,Redmine 的开发曾经一度陷入泥潭,代码臃肿,积重难返,不过 Redmine 社区的人经过不屑努力,终于通过不断的重构,慢慢改善了很多,为此还专门有一本书用来介绍 Redmine 是怎么被 Refactor 成现在这样的:http://www.refactoringredmine.com/book/
个人不建议新手学习 Redmine。
#5 楼 @lgn21st 非常感谢!
默认概念没有 Service 层,由 action 来代替。根据应用的复杂度不同,很多开发人员发现这样子不能满足自己的需要了,所以有第三方的 gem 来加上了支持。可以看看这篇 blog: http://karmajunkie.com/blog/2012/05/07/the-problem-with-controllers/
不懂 service 是啥?
rails2.1 版本的时候看过 redmine,做过一些二次开发。发现它的代码的设计思想好像是 java 那类语言过来的。很神奇,哈哈
#9 楼 @Guest 你好,我正开始做 redmine 的二次开发,感觉无从下手,可以请教一下你吗?