我想用一个按钮替换一个简单的链接以用于样式目的。使用 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/