【发布时间】:2014-01-24 18:16:27
【问题描述】:
我有一个区分为 6 个角色的用户模型,我定义了不同的变量并将它们定向到不同的视图文件(类似的格式,但不同的信息表),但在同一个控制器操作中,因为它们都有相似的页面“概述”、“个人资料”、“消息”等。
现在控制器真的很乱,并且有多个 if/else 语句。我相信我应该更改路由,以便每个用户都有自己的控制器,从而消除当前侵入控制器的 if/else 怪物的使用。
def index
if current_user.admin?
....
end
if current_user.moderator?
....
end
end
问题:我如何执行路由,这样 url 将是 www.website.com/1/schedule,其中 1 = current_user.id,同时从不同的控制器呈现不同的视图文件?
我正在考虑使用 AdminController 和 ModeratorController 来处理此问题,但不确定如何进行路由,或者这是否确实是最好的方法。提前感谢您的建议!
【问题讨论】:
-
可能重复 :stackoverflow.com/questions/11053175/devise-role-based-routing 希望对您有所帮助。
标签: ruby-on-rails ruby ruby-on-rails-4