将请求url的一部分解释为参数

时间:2012-01-28 14:33:40

标签: ruby-on-rails-3

我目前正致力于将请求网址的一部分解释为相对路径(是的,我知道这可能会带来安全风险)。

看起来像

/page/path/to/something

参数部分为/path/to/something

我可以通过常规路由执行此操作,还是必须使用rails metal之类的东西来处理此问题?

2 个答案:

答案 0 :(得分:1)

使用routing constraint允许路线段中的斜杠;简而言之(大致):

match "page/:fqp" => "what#ever", :constraints => { :fqp => /[a-zA-Z0-9\/]*/ }

答案 1 :(得分:0)

除了Deve Newton的回答之外,还有路径通配,形式为

get "/page/*path", => "page#show"

它与page部分匹配,并在路径中将任何其他内容作为params[:path]放入详细的控制器操作中。