有理由怀疑,是否有更好的方式来做以下工作:
用户有男性项目
项目清单
清单
某些用户只能获得某些项目。 但是,如果用户能够进入一个项目,那么用户可以查阅该项目的所有清单和项目。
这里,我想清理的方法是:
def check_for_user_access(resource, resource_class, user)
case resource_class
when Project
if resource.user == user
return true
end
when List
if resource.project.user == user
return true
end
when Item
if resource.list.project.user == user
return true
end
else
return false
end
end
我不想在清单和项目上使用用户——即归属,因为准入实际上与项目挂钩。
这样做的最好办法莫过于在稍有不同之处进行总结的开关说明?
提前感谢!