如何从Rails URL中删除请求值?

时间:2010-12-04 17:41:41

标签: ruby-on-rails ruby-on-rails-3

在我的Rails 3应用程序中,我在主页上列出了很多项目。其中一些是模糊的,我想将我的列表限制为仅受欢迎的项目,除非用户点击基本上“清除”限制器的特定链接。

我现在的工作原理,但当用户选择“显示所有项目”时,我最终会得到一个丑陋的网址:

http://myapp.com/?limiter=0

有什么方法可以解决这个问题,以免用户在网址末尾看不到丑陋的属性?

2 个答案:

答案 0 :(得分:1)

不,不要使用POST。只有在服务器上进行状态更改时才应使用POST。如果你真的需要这样做,请使用AJAX GET。

更好的是,习惯于看到像这样的GET参数。这是正常的。而且,这就是出于某种原因:它允许为资源添加书签,包括稍后重现请求所需的任何设置。

阅读REST。学习它。住它。喜欢它。

答案 1 :(得分:0)

您可以采取多种方法。可能最明显的一个是为show_all设置一个单独的页面。听起来你正试图对你的主页做太多。

如果您必须在首页上显示这些内容,并且您的链接也在主页上,则可以使用ajax调用来加载您的项目,而无需重定向到该网址。

最后,我想你可以尝试为这种情况制作一条路线。我对Rails3路由没有任何经验,所以我不能建议任何语法。

但实际上,这有点像应用程序设计问题,而不是技术问题。我强烈建议您重新考虑如何尝试这样做。这听起来不像是适合放在主页上的功能。单独进行show_all操作。