Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3-链接到:远程,更新地址URL_Ruby On Rails_Ajax_Ruby On Rails 3_Link To - Fatal编程技术网

Ruby on rails Rails 3-链接到:远程,更新地址URL

Ruby on rails Rails 3-链接到:远程,更新地址URL,ruby-on-rails,ajax,ruby-on-rails-3,link-to,Ruby On Rails,Ajax,Ruby On Rails 3,Link To,我目前正在尝试通过以下方式更新页面内容: <%= link_to(content_tag(:span, 'Settings'), edit_admin_store_path, :remote => true)%> 我想知道是否有一种“rails方式”也可以更新地址url 非常感谢您的帮助/建议 基本上,您要求的是HTML5 history.pushState方法。可以找到大量的文档 简单地说,您可以通过以下方式进入历史: var stateObj = { foo: "bar"

我目前正在尝试通过以下方式更新页面内容:

<%= link_to(content_tag(:span, 'Settings'), edit_admin_store_path, :remote => true)%>
我想知道是否有一种“rails方式”也可以更新地址url


非常感谢您的帮助/建议

基本上,您要求的是HTML5 history.pushState方法。可以找到大量的文档

简单地说,您可以通过以下方式进入历史:

var stateObj = { foo: "bar" };
history.pushState( stateObj, "new page title", "forbear.html" )
这将导致URL显示
http://www.yoursite.html/whatever/foobar.html
取决于URL当前的外观


干杯

在HTML5之前,有没有可行的选择?如果后退按钮也起作用的话,我会很满意在url中添加散列。这与Pjax之类的东西有什么关系?比如HTML5,这是一项非常困难的任务。因此,HTML5应运而生。您可以向URL添加片段,但每次删除/更改DOM时都需要手动更新它。我不建议这样做。你可以使用history.js来自动化后者,而不是自己去做。这为我指明了正确的方向。我最终使用了PJAX并对其进行了定制,使其能够与rails很好地协同工作。谢谢你的建议。
var stateObj = { foo: "bar" };
history.pushState( stateObj, "new page title", "forbear.html" )