【问题标题】:Ruby-on-Rails: route for path with arbitrary number of components?Ruby-on-Rails:具有任意数量组件的路径路径?
【发布时间】:2019-09-02 20:00:03
【问题描述】:

在我的ror 应用程序中,我想定义一个路由,它将任何长度的路径分派给给定的处理程序。

我希望任何以http://example.com/xyz/... 开头的 URL 都转到同一个处理程序,并将完整路径作为参数传入。

换句话说,以下所有 URL 都应该转到 xyz 路由的同一个处理程序...

  • http://example.com/xyz
  • http://example.com/xyz/foo
  • http://example.com/xyz/foo/bar
  • http://example.com/xyz/quack/bark/oink
  • http://example.com/xyz/hip/po/pot/a/mus
  • http://example.com/xyz/[any arbitrary path with any number of components]

...在处理程序中,我需要能够检索提交的整个路径。

我想我应该把这样的东西放到config/routes.rb ...

get "xyz/[what goes here?]", to: "xyz#handler"

...但我想不出任何方法可以在ror 中完成这项工作。

flask,我可以设置一个看起来像这样的路线......

/xyz/<path:pathvar>

... 并且出现在/xyz 之后的整个路径将可用于pathvar 变量中的处理程序。 ror 中是否有类似的情况?

【问题讨论】:

    标签: ruby-on-rails path routes


    【解决方案1】:

    哦!我在这里找到了答案:Rails catch-all route

    我只是这样做......

    get "xyz/*pathvar", to: "xyz#handler"
    

    ...而出现在/xyz之后的完整路径将出现在params['pathvar']中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 2011-12-18
      相关资源
      最近更新 更多