ruby-on-rails - rails 中的动态路线

标签 ruby-on-rails ruby

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

/api/apps/guid/details

...然后我想调用 Controller ApiControllerindex 操作并使字符串 /apps/guid/details 可用

我已经阅读了关于 Controller 和路由的文档,但一切似乎都假设 /apps/guid/details 将成为我应用程序中的资源,而实际上我并不关心结构/api 之后的任何内容。

如何设置允许我执行此操作的路由?

最佳答案

您可以在 config/routes.rb 中使用通配符:

get "/api/*path", to: "api#index"

可以在 Controller 中通过 params[:path]

访问

详情可见in the rails guide .

关于ruby-on-rails - rails 中的动态路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303831/

相关文章:

ruby - Sinatra - #<String> 的未定义方法 `join' - 删除 Gemfile.lock 后

javascript - 使用 Ruby 和 EM::WebSocket::Server 的 WebSocket 握手

ruby-on-rails - Rails Byebug 没有停止应用程序

ruby-on-rails - rails 3,Heroku : Taps Server Error: PGError: ERROR: invalid byte sequence for encoding "UTF8": 0xba

ruby-on-rails - best_in_place-在 View 中使用更新的值

ruby-on-rails - Ruby 散列按多个值分组

ruby-on-rails - rails 检查唯一性并处理条件

ruby-on-rails - Mongoid:一次调用创建多个对象

ruby-on-rails - form_for 中未定义的方法 `user_path'

ruby - 如果方法内部有 yield,但没有传递 block 怎么办?