我想请教下大家一个 Rails App 架构的问题:
这个 App 有两个大的角色:1)iOS 及 Android 的 API server。2)网站。
就我目前了解的知识而言,就算是对同一个 model,这两个角色的处理逻辑差别也是非常大的,比如:对 User 这个 model 的处理,同样是创建 user(UsersController::create),网站这个角色创建完了 user,可能就重定向到 user 的 profile 页面了,而 API server 这个角色创建 user 之后,可能仅仅返回一些必要的数据就可以了,并不需要重定向。
所以,架构上来讲,数据库应该是用同一个。我的问题是:controller 应该用同一个么,例如在 UsersController 的 create 方法中通过对不同 format 的判断,从而提供不同的 response。这样处理会不会显得逻辑很复杂?还是说即使是对同一个 model 的处理,也应该根据这两个角色分两个不同的 controller?
多谢!