再次重写问题:
我的目标是使用cancan gem制作权限方案。此权限方案可编辑为自动构建cans,并且可以在Ability文件中进行。权限将与应用程序上的所有模型相关,因此我需要一个角色模型,一个模型模型以及它们之间的has_many :though
关系。这一切都很好,但我不想在应用程序中为每个模型添加记录,我希望通过列出Activerecord::Base
后代来获得模型。因此,我使用Role模型,ModelRole关系以及Role has_many
关系和ModelRole belongs_to
关系来构建它。
到目前为止一直很好,但是,因为没有模型模型(我知道我需要使用其他类名,模型是ruby中的保留键)我不能实例化一个与Role相关的对象并在ModelsRoles中保存角色权限方案,所以我必须手动完成,但这感觉很难。
这是更好的方法吗?有另一种方式吗?或者我应该编写MyModel类来避免这一切,并且"吃我的蔬菜"?