<强>行为我建议:

一个用户加载了我的“搜索”页面,www.site.com/search,类型及其查询转换为表格,点击提交,然后在www.site.com/search/the+query而不是WWW结束.site.com /查询q = +的查询。我已经经历了很多已经和刚刚完成了主塔文档阅读路线的文档了,我想知道这是否可以/应该在路由层发生。我已经设置了我的申请给予www.site.com/search/the+query何时进行搜索,但无法弄清楚如何将表格发送至该目标。

或者是这个东西的控制器内应该发生有redirect_to的那个()?

或者别的地方?

<强>跟进:

这是更小的实际“一成不变”现在的愿望和对未来的集思广益功能更多的是好奇。我设计它采用了维基百科的转储和观察到,当用户对维基百科的搜索和搜索是不是太含糊其直接重定向到一个文章链接的应用程序:en.wikipedia.org/wiki/Apple。它实际上是执行在中间HTTP 302重定向一步,我如果有在主塔这样做的更优雅/可爱的方式只是好奇。

有帮助吗?

解决方案

您可以给你想要的任何URL任何内容,但如果你想有一个特定的URL出现在浏览器的地址栏中,你必须使用一个重定向。这是独立于是否使用塔,Django的或者Rails在服务器端。

在处理的/search(无论POSTGET),人们通常会运行在后端查询,如果只有一个搜索结果(或一个压倒性的相关结果),你会重定向到结果,否则到示出链接到前N个结果的页面。这只是正常的做法,据我所知。

其他提示

HTML表单设计为一起去参加一个查询字符串(?q=)或同等机构在POST特定的URL - 无论是你写的聪明和微妙的Javascript功能来拦截表单提交,并在您的首选奇怪的方式重写它,或使用redirect_to(后者需要一定的操作的方式)。

但是,为什么你需要这样怪异的行为,而不是仅仅按照标准?请的应用层次的需求来解释你的使用情况...!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top