铁路动态路线

Hen*_*yTK 2 ruby ruby-on-rails

我有一个 Rails 应用程序,除其他外,它还为第三方服务的 API 调用提供了一个简单的包装器。我想设置一条以 开头的路线/api,但添加到其末尾的任何内容都将被视为字符串变量。例如,如果客户请求:

/api/apps/guid/details
Run Code Online (Sandbox Code Playgroud)

...然后我想调用index控制器的操作并使其可以使用该ApiController字符串。/apps/guid/details

我已经阅读了有关控制器和路由的文档,但一切似乎都假设这/apps/guid/details将是我的应用程序中的资源,而实际上我并不关心/api.

我如何设置一条路线来执行此操作?

eik*_*iko 6

您可以在 config/routes.rb 中使用 globbing:

get "/api/*path", to: "api#index"
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式在控制器中访问它params[:path]

详细信息可以在 Rails 指南中找到。