我的应用有用户,它有厨师。用户可以是厨师,厨师可以是用户。厨师有能力创造膳食,并在那里获得报酬,用户没有这种能力。如果用户请求并获得批准,则可以成为厨师。
计划是让一个用户模型带有一个布尔字段作为厨师。如果厨师领域是真实的,厨师将拥有比普通用户更多的功能,例如创建一餐和获得餐费。令我困惑的是我如何构建模型,以便只有厨师才能创造一顿饭。
我是否创建角色?比如下面的帖子建议,或者我为Chefs创建了两个单独的模型,为User创建了一个模型。我的想法是,我只有一个模型,所以人们不必注册两个不同的帐户。
Rails model structure for users,还是有另一种选择。
思想/忠告?
答案 0 :(得分:1)
我强烈建议您查看pundit,这样您就可以根据给定用户的设置运行权限。例如,如果您想允许User
将属性chef
设置为true,则可以设置MealPolicy#create
以检查user.chef?