动态添加/修改活动记录关联
|
我认为ActiveRecord并不是唯一的情况,但是我似乎找不到任何存在类似问题的人,所以这里是:
我有一个用于用户的User类和一个用于定义用户功能的Roles类。例如,您可以有一个角色为\'tutor \'的用户,一个角色为\'student \'的用户和一个角色为[\'tutor \',\'student \']的用户:
class User < ActiveRecord::Base
has_many :roles
end
class Role < ActiveRecord::Base
end
我想做的是基于角色添加activerecord关联。显然,一个学生可能有很多:课程,一个导师可能有他们教的:subject,并且学生和导师都可能有很多:appointments,但是似乎并没有将所有这些关联添加到每个User实例中。正确的方法。
子类化User也似乎是错误的-我考虑过做Tutor class User < ActiveRecord::Base protected after_initialize do if self.has_role?(Role::STUDENT) has_many :courses # This does not work else # etc etc etc end end end但是我不知道这是否被认为是错误的,或者甚至是如何使它起作用的。用关联处理这种用户/角色设置的最佳方法是什么?
没有找到相关结果
已邀请:
2 个回复
委婪绷冗诉
宠封钞轰