我正在编写一个具有多级权限的站点。我的系统中基本上有3种用户。他们是管理员、业务和消费者(普通用户)。假设我正在建立一个广告网站。
所以我有一个模型“Campaign”,它有一个带有 Rails 脚手架的 RESTful API。企业可以创建活动,用户只能看到他们想加入的活动,而管理员可以做任何事情。
现在,我知道如何应用 before_filter 并严格检查可以访问特定视图的用户类型。
但是,每个特权级别都有自己独特的观点。
企业可以看到他们的活动的洞察力和分析。(我们称之为活动/分析)消费者可以看到他们参与的所有活动。(我们称之为活动/你的)管理员有特殊的视图,他们可以监控网站的活动。(我们称之为活动/监控业务)。
现在,我的 CampaignController 拥有通常的 RESTful 视图 + 分析 + 你的 + monitor_businesses。当然,我有多个数据模型(不仅仅是活动),这使得我的 RESTful 控制器对这些数据模型非常混乱。
我应该怎么办?我正在认真考虑启动一个 ConsumerController 然后是一个 BusinessController 并将所有关联的视图放在这些控制器中。我不知道这是否违反了“RESTful”原则,但我想知道存在哪些更好的模式来处理我的问题。
我愿意接受各种建议。