0

如何在控制台中为特定用户获取所有路由(如命令 rake 路由)?我只想要该用户可以访问的路线吗?

有谁知道 gem 或者是编写我自己的控制台命令处理程序的最佳方式?

4

1 回答 1

1

你肯定需要自己写(我不知道是否有cancan插件)。

首先,cancan 不会在连接到路由的特定位置存储您可以访问和无法访问的内容,cancan 仅允许您选择可以为给定类或实例访问的方法,例如can :read, User,它与路由没有任何关系同时路由不直接绑定到模型(它们绑定到控制器)。

基于此,写这样的东西也不是那么容易(不是不可能,但并不容易而且我认为不短)。

您最好的选择是尝试模拟测试,您可以尝试使用给定用户访问每条路由(您可能可以解析 rake 路由的输出或阅读该代码的生成方式),如果用户无法访问该路径,您标记为不可访问。您还需要提供一种在控制台命令中选择用户的方法。

于 2013-07-04T23:21:28.557 回答