我想在rails 4应用程序中使用turbolinks
但不能替换整个<body>
标记。相反,我想为turbolinks
指定一个标记/选择器来刷新。
像...一样的东西。
<body>
<div class="turbolinks-refreshes-this">
Some content that is replaced whenever a link is clicked.
</div>
<div class="turblinks-does-not-refresh-this">
Some content that remains even if a link is clicked.
</div>
</body>
我的猜测是你需要分叉turbolinks
来添加这个功能,但我想把它扔出去看看是否有其他人试图这样做。
答案 0 :(得分:1)
你看过pjax了吗?它与Turbolinks非常相似(并在Turbolinks自述文件中提及),但允许您指定目标容器。 Here's a Railscast,展示了如何在Rails应用中使用它。
这是一个(稍加修改)的摘录from the pjax README:
<h1>My Site</h1> <div class="container" id="pjax-container"> Go to <a href="/page/2">next page</a>. </div>
我们希望pjax抓取网址
/page/2
,然后替换#pjax-container
随着它回来。不会重新加载任何样式或脚本 即使是h1也可以保持不变 - 我们只想改变它#pjax-container
元素。我们通过告诉pjax监听
a
标签并使用来做到这一点#pjax-container
作为目标容器:$(document).pjax('a', '#pjax-container')
现在当某人在兼容pjax的浏览器中点击“下一页”时
#pjax-container
的内容将被替换为/page/2
的内容 {{1}}。