切勿使用Turbolinks加载特定路线

时间:2015-07-13 14:08:59

标签: ruby-on-rails ruby-on-rails-4 turbolinks

我知道我可以使用data-no-turbolink属性来确保链接(或许多链接)不使用turbolinks,但有没有办法确保永远不会加载特定页面通过turbolinks

我有一个特定的页面在通过turbolinks加载时被破坏,而不是使用一些黑客来解决这个问题,我宁愿这个页面总是以通常的方式加载。

我知道我可以将data-no-turbolink添加到访问此页面的所有链接,但是我必须记住这个页面的每个后续链接都会这样做,这很糟糕。

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

要修改所有新网址和现有网址以删除特定网址的广告链接,请阅读以下内容:

由于您希望在通过link_to链接到特定页面时始终使用“data-no-turbolinks”,因此您可以修改方法以检查其目标的URL并设置{{1} } attribute。

修改data-no-turbolinks帮助程序(请务必使用路径中的正确变量替换link_toROUTE_url

ROUTE_path

答案 1 :(得分:-1)

您可以将以下代码添加到应用程序的帮助文件中。它将检查页面上调用的控制器和操作,如果匹配则返回HTML属性。

# application_helper.rb
def no_turbolinks
  "data-no-turbolinks='true'".html_safe if controller_name == "your_controller" && action_name == "your_action"
end

然后,在您的应用程序的HTML中:

<body <%= no_turbolinks %>>

理想情况下,这只会加载到您想要的特定页面上;禁用该页面的turbolink。