在Padrino中,如果我想要一条路线匹配以下网址:
我该怎么做?即url的最后一部分可以有任意数量的句点,我希望它是其中一个参数。
我尝试了以下操作,但路线不匹配
但是,如果我将句点更改为下划线,例如“/ does / note / work / for / some_reason”,它们可以正常工作。
另外,如果我执行以下操作:
然后两者
匹配好......
我错过了什么吗?
答案 0 :(得分:0)
使用正则表达式
# GET /with/regexp/it.will.work
get %r{\A/with/regexp/(.*)\Z} do |name|
# name => "it.will.work"
end
使用命名参数
Padrino会尝试匹配网址末尾的format
,例如.json
或.html
可以通过params[:format]
访问该格式,您需要将其加入params[:name]
# GET /with/named/param/it.also.works.with.a.format
get :named, :map => '/with/named/param/:name'
name = "#{params[:name]}.#{params[:format]}"
# name => "it.also.works.with.a.format"
end