2014-02-20 31 views
2

我有3个不同布局的应用程序: - 2是为用户和管理员(比如用户和管理员布局) 保护区 - 另一种是一般的应用程序布局 的应用布局用途一些谷歌服务(地图,字体和分析),而另一些则没有,所以在应用程序布局中,我包含了脚本,而其他的则没有。导轨和多种布局Turbolinks

会发生什么情况是,当从受保护区域注销并重定向到主页时,由于turbolinks脚本不会被调用。

我已经试过是:

  • data-no-turbolink在破坏用户/管理员会话(但没办法,因为这不是一个直接链接到主页的链接,但只是为了通话重新加载,使重定向)
  • data-no-turbolink在家里身体,但没办法,因为我需要的头一个动作,其中脚本是
  • 创建一个initPage功能,它包含了所有需要做的事情在加载主页时,在document.ready,但像以前一样,scrip s没有被重新加载,所以只有不需要extern服务的东西才能工作。

我发现的唯一解决方案是将不需要的脚本也放在其他布局中。

有什么建议吗?

+0

你能解释一下这句话? “把data-no-turbolink放入破坏用户/管理会话的链接中(但没办法,因为这不是直接链接到主页,而只是调用重定向的动作)” –

+0

ok,i我会尽力做得更清楚。注销是通过这样一个链接来完成的,这个链接在Admin :: SessionController中调用一个方法,这个链接就像这样调用一个方法:destroy_admin_session_path,delete,'class','btn btn -xs btn-danger'%>破坏会话并将管理员重定向到主页(对用户来说也是如此)。它不是直接链接到主页,这就是我想说的。 – sissy

+1

我还是不明白。你必须把'data-no-turbolink'放在导致布局变化的链接上(这很可能是最复杂的)。无论如何,AFAIK销毁会话默认情况下都是'data-no-turbolink'。 –

回答

4

约试图将data-no-turbolink加入到这样的注销按钮是什么:

<%= 
    link_to 'logout', 
      destroy_admin_session_path, 
      method: 'delete', 
      class: 'btn btn-xs btn-danger', 
      data: {no_turbolink: true} 
%> 

这应会是这样的:

<a href="/admins/sign_out" class="btn btn-xs btn-danger" data-method="delete" data-no-turbolink>logout</a> 
+0

已经尝试过这种方式(如上所述),但没有工作。重新审视,现在看来正在工作......这样的神秘主义。 Thx无论如何让我再试一次:) – sissy

+0

有同样的问题,并为我工作。 –