Ruby on rails TurboLink和应用程序布局中的代码

Ruby on rails TurboLink和应用程序布局中的代码,ruby-on-rails,turbolinks,Ruby On Rails,Turbolinks,好的,第一次使用TurboLink。总的来说,我很高兴,但我有一个问题:在我的应用程序布局中有一些代码(简单的标题代码,如果您登录,会显示您的信息,否则会显示一个登录表单),在数据更改时不会重新加载 这是有道理的——因为它不在屈服范围内,它在我的应用程序布局中,TurboLink不应该运行它 但是有没有一种简单的方法可以触发turbolinks来重新生成页面的该部分?turbolinks Turbolinks的一个大问题是它只会更新页面的,而保持不变 这意味着,如果您在HTML布局的中有逻辑,则

好的,第一次使用TurboLink。总的来说,我很高兴,但我有一个问题:在我的应用程序布局中有一些代码(简单的标题代码,如果您登录,会显示您的信息,否则会显示一个登录表单),在数据更改时不会重新加载

这是有道理的——因为它不在屈服范围内,它在我的应用程序布局中,TurboLink不应该运行它


但是有没有一种简单的方法可以触发turbolinks来重新生成页面的该部分?

turbolinks

Turbolinks
的一个大问题是它只会更新页面的
,而保持
不变

这意味着,如果您在HTML布局的
中有逻辑,则在加载具有相同
区域的页面时,逻辑不会改变

--

设置

我使用的解决方案是将逻辑放在页面的
中。我们采用以下方法:

#app/views/layouts/application.html.erb
<body>
   <% if user_signed_in? %>
       ...
   <% else %>
       ...
   <% end %>
#app/views/layouts/application.html.erb
...
...

这适用于我们使用turbolinks的所有应用程序。

turbolinks使用推送状态替换html文档的整个主体,因此您的标题应该正确地重新编码。你能发布你的application.html.erb文件吗?这正是我正在做的。。。我所说的“标题”完全在主体中,但当数据发生变化时,它不会在我的应用程序布局中重新呈现内容。如果它对你有用的话,那么我一定是在别的地方做错了什么,也许这是在转移注意力。我会深入挖掘-谢谢。你能在你的问题中发布你的整个应用程序布局吗?看看你是否正在使用Deave,这将是一件有趣的事情。我肯定没有使用Deave。我用的是土生土长的auth。这可能是问题所在。我会先深入研究一下,如果我被难倒了,我会发布一些已经清理过的东西,让公众可以看到。我不知道为什么,但它现在正在发挥作用。所以我把它归咎于我的代码中其他地方的错误,我已经修复了。对于未来的搜索者来说:它确实有效。应用程序布局将在TurboLink中重新呈现,只要它在body标记中。