如何列出所有Rails 3控制器及其公共方法

时间:2011-12-02 10:07:48

标签: ruby-on-rails ruby ruby-on-rails-3

我想创建一个检查工具/ rake任务,它将动态地遍历可能从外部访问的所有公共方法并检查我们的授权规则。

为此,我需要收集所有控制器及其所有公共方法。怎么做?我想使用Ruby反射或元数据技术而不是grepping文件。

1 个答案:

答案 0 :(得分:2)

AFAICT在一般情况下这是不可能的,因为你无法分辨哪些参数在哪里,例如/items/foo/id/items/foo?bar=baz?那么,参数的哪些值可以吗?

但是你可以用

获得一个不错的价值
Rails.application.routes.routes.map(&:path)

将以rake路线(/klass/:id/action(.:format)

中使用的形式给出一个列表