新手问题 什么时候添加控制器

ZhouYiYu · 2017年07月24日 · 最后由 edwardzhou 回复于 2017年07月25日 · 1307 次阅读

假如我的网页有中 users 资源 我现在想添加将普通用户升级为管理员的功能 但我已经有修改用户资料的功能,其中已经用到了 update 动作 此时我是不是必须再创建控制器,才能实现将普通用户升级为管理员的功能

可以直接通过 model 来实现管理员的功能,推荐你看看 devise, 现成的用户验证直接拿来用。(https://github.com/plataformatec/devise)

可以添加新的动作

建议创建新的控制器来处理这个事情。单一职责原则 一个控制器只实现一个目的,不要同时支持太多的功能。

同时我比较认同 DHH 的观点,避免为控制器添加新的 Action,仅使用 CRUD。当要添加 Action 时,先问问自己,是否可以通过一个新的 controller 来处理。当然,这样做的弊端时 controller 爆炸。

ZhouYiYu 关闭了讨论。 07月25日 16:25
需要 登录 后方可回复, 如果你还没有账号请 注册新账号