ruby-on-rails-3 - 我可以在表单触发的 GET 请求中删除 '?' 吗?

标签 ruby-on-rails-3 button get

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

当我更换:

link_to "my_page", my_page_path

和:
button_to "my_page", my_path_path, :method => :get

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

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

最佳答案

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

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

您可以删除问号的唯一方法是使用“规范 URL”或“干净的 URL”,它们通常包含由斜杠分隔的数据。
http://www.domain.com/data/more-data/
这将需要使用 .htaccess 完成的 URL 重写。 Apache 服务器上的文件。我认为在 IIS (Windows) 上他们使用 web.config为了那个原因。他们基本上使用问号将 URL 改回 URL,但对用户不可见。

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

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

关于ruby-on-rails-3 - 我可以在表单触发的 GET 请求中删除 '?' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122014/

相关文章:

ruby-on-rails-3 - 在 Rails 中测试默认范围

ruby-on-rails - Rails 在 ID NOT IN 条件下查找,如何支持映射的空值?

ruby-on-rails - 访问 URL 参数 Project.find(params[ :project_id]) in the application_helper. rb

PHP - 获取带有数字索引的数组值

ruby-on-rails - 使用 redirect_to 并传递额外的参数

android - 按钮没有包装它的内容

javascript - 如何检查社交分享按钮上的点击事件,即 Googleplus、Facebook、Twitter、Digg、StumbleUpon、LinkedIn、Delicious、Reddit、Pinterest?

javascript - 单击另一个旨在显示/隐藏图层的按钮时,在 Adob​​e PDF 中隐藏/显示按钮的代码是什么?

python - 在图形上绘制椭圆并获取坐标_Python

android - 正确的重定向 HTTP GET 检索