代码之家  ›  专栏  ›  技术社区  ›  Max Williams

在routes.rb中将带有正斜杠的字符串用作单个参数

  •  2
  • Max Williams  · 技术社区  · 15 年前

    "en/home/logged-in/subscriber/school-top" 要设置路由,以便我可以使用此完整路径字段从数据库加载ComatoSeparage,而不是标准id字段,以便此url:

    /comatose_admin/en/home/logged-in/subscriber/school-top
    

    Parameters: {:controller => "comatose_admin", :action => "edit", :full_path => "en/home/logged-in/subscriber/school-top"}
    

    复杂之处在于,字符串被前斜杠打断,我认为这会混淆路由。我能在“comatose_admin/”之后设置路径来获取所有内容并将其放入单个参数中吗?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Ben Lee    15 年前

    您可以在路由中使用通配符来匹配正斜杠。试试这样的:

    "/comatose_admin/*full_path"
    

    那么 params[:full_path] 应该包含请求路径的其余部分。

    Route Globbing