Prz*_*ski 3 redirect routing ruby-on-rails ruby-on-rails-3
我正在寻找一种简单的方法来在我的应用程序中进行重定向.
情况:
我有这样的路线:
http://myapp.com/authors/5-hemingway/books/1-moby-dick
Run Code Online (Sandbox Code Playgroud)
路线以这种方式翻译(使用gem'i18n_routing'):
http://myapp.com/acutores/5-hemingway/libros/1-moby-dick
Run Code Online (Sandbox Code Playgroud)
现在,我将acutores的翻译改为了scriptores.简单的步骤,但我想将包含旧"acutores"资源名称的所有路由重定向到带有"scriptores"的路由.
我的猜测是,我应该在routes.rb中玩:
match "/acutores" => redirect("/scriptores")
Run Code Online (Sandbox Code Playgroud)
但是如何在"acutores"出现的所有情况下有效地做到这一点?(特别是嵌套路线)
这重定向/acutores/something到/scriptores/something但是失败了/acutores:
match "/acutores/*path" => redirect("/scriptores/%{path}")
Run Code Online (Sandbox Code Playgroud)
这似乎同时处理:
match "/acutores(/*path)" => redirect {|params| "/scriptores/#{params[:path]}"}
Run Code Online (Sandbox Code Playgroud)
- 编辑
这将删除所有尾部斜杠:
match "/acutores(/*path)" => redirect{ |params| "/scriptores/#{params[:path]}".chomp("/") }
Run Code Online (Sandbox Code Playgroud)
我遇到了浏览器缓存重定向问题,因此在修改后清空缓存.
| 归档时间: |
|
| 查看次数: |
3267 次 |
| 最近记录: |