如何限制rails中的API调用?

时间:2015-02-02 09:06:07

标签: ruby-on-rails

我是管理员,多个人正在处理该项目。每天都在创建新路由(主要是API)。我想要所有路线(控制器和各自的动作)的中央记录。我希望路由只有在该记录(yml文件)中列出时才能工作。 我听说可以通过创建一个yml文件来管理资源,虽然我是不知道怎么做的。

建议将受到高度赞赏。


我想我需要更清楚地了解我的查询。 同意我们需要列出路由中的所有GET,POST PUT和DELETE请求以重定向呼叫。 我正在寻找的是另一个YML文件,它将列出控制器和各自的操作。此处列出的操作应仅允许路由,而不应存在于route.rb中的其他操作。

示例: 我有以下路线:

获取“fetch_ids”=> “get_id#选择”

现在如果我的YML中只列出“get_id#select”,那么就允许路由。

我该如何设置?

2 个答案:

答案 0 :(得分:0)

它已经像那样工作了。无论您是创建控制器还是操作,只有在routes.rb文件中以某种方式列出控制器和操作时,才能访问控制器和操作。

您可以拥有10个控制器,但只有routes.rb中的一个。其他9个将无法访问。

列出所有路线只需运行

$ rake routes

答案 1 :(得分:0)

要获得所有可用路线的列表,请尝试使用此Rack应用程序(config / routes.rb的一部分)

match "/secret_routes" => proc { |env| [ 200, {'Content-Type' => 'text/plain'}, [Application.routes.routes.collect{|i| i.path.spec.to_s}.join("\n")] ] }