-1
我有3种型号改写协会导致
用户,公司和角色
用户belongs_to的角色 用户拥有,属于许多公司 角色HAS_ONE用户
直通这个协会,我可以这样做:
User.companies < - 我得到了用户拥有的所有公司
User.role < - 我得到了用户所属的角色
我现在在想,当一个用户有role_id == 0(admin)时,公司应该返回所有公司(Company.all)。要做到这一点,我想覆盖公司的方法,如果用户有role_id == 0,我会返回Company.all,否则我打电话超级。那是对的吗?如果是的话,我应该如何实现这个代码? 直接在我的用户模型中?我应该只扩展数组吗?
它的工作原理,但那么我将不得不改变它已经准备好的很多代码。 – 2010-02-11 15:11:12
这对于理智的代码来说可能是值得的,并且可能不会超过跨项目查找和替换(当然,手动检查所有替换)。如果你使用IDE,它可能就是它。如果没有,有一些命令行工具可以为你做到这一点。 – Matchu 2010-02-11 15:21:25
我不会采取这种方法。我会推翻这些公司并祈祷。无论如何,你独自回答,所以我会选择你的答案。 – 2010-02-11 15:27:47