我能放弃'?' 在窗体中触发GET请求?

dou*_*lea 7 get button ruby-on-rails-3

我想用一个按钮替换一个简单的链接以进行样式设置.使用button_to代替link_to似乎是阻力最小的路径,我至少渴望保持RESTful,这意味着在这种情况下的GET请求.

当我更换:

link_to "my_page", my_page_path
Run Code Online (Sandbox Code Playgroud)

有:

button_to "my_page", my_path_path, :method => :get
Run Code Online (Sandbox Code Playgroud)

... 有个 '?' 附加到URL的末尾.当然,这是一件小事.但有没有一种简单的方法来删除'?',因为我没有查询字符串参数?

这是一个浏览器问题,而不是一个rails问题?当然,我可以将链接设置为看起来像一个按钮,但我宁愿不...

Tim*_* S. 3

带数据的 GET 请求是在 URL 中发送数据的请求。浏览器(任何浏览器)通过问号来识别 URL 中是否有数据。

所以基本上,它与 Ruby 完全没有关系。

删除问号的唯一方法是使用“规范 URL”或“干净 URL”,它们通常保存由斜杠分隔的数据。

http://www.domain.com/data/more-data/

这将需要 URL 重写,这是使用.htaccessapache 服务器上的文件完成的。我认为在 IIS (Windows) 上他们使用 aweb.config来实现这一点。他们基本上将 URL 更改回使用问号的 URL,但对用户来说是不可见的。

如果您只想删除 URL 中的问号,这是一种难以理解的技术,而且会浪费时间。

或者,您可以联系您的虚拟主机。他们可能愿意帮助你。