The*_*hts 18 ruby ruby-on-rails
如何强制Rails考虑一个带有值中的点的param,如google.com(例如/some_action/google.com)单个param而不是"id" => "google", "format"=> "com"?
参数值应该是 "id" => "google.com"
Dam*_*IEU 30
默认情况下,动态段不接受点 - 这是因为点用作格式化路径的分隔符.但是,您可以向路由参数添加一些正则表达式要求.在这里,您想要允许参数中的点.
match 'some_action/:id' => 'controller#action', :constraints => { :id => /[0-z\.]+/ }
Run Code Online (Sandbox Code Playgroud)
在rails 2.3中:
map.connect 'some_action/:id', :controller => 'controller', :action => 'action', :requirements => { :id => /[0-z\.]+/ }
Run Code Online (Sandbox Code Playgroud)
在Rails 4中,我使用了:
get 'operation/:p1/:p2', to: 'operation#get', constraints: { p1: /[^\/]+/, p2: /[^\/]+/ }
Run Code Online (Sandbox Code Playgroud)
它允许两个参数中的任何字符(“ /”除外)
| 归档时间: |
|
| 查看次数: |
5494 次 |
| 最近记录: |