Ruby on rails 除了使用body标签外,如何在特定页面中禁用Turbolinks?
当在body标记中使用“data Turbolinks”=>“false”时,Turbolinks被禁用,可以正常工作,但我们不能在代码中间的某个地方使用body标记,因此在任何其他标记(如div)中尝试使用body标记都不能禁用Turbolinks,那么有没有不使用body标记的方法呢 您可以这样做: 在您的Ruby on rails 除了使用body标签外,如何在特定页面中禁用Turbolinks?,ruby-on-rails,ruby-on-rails-5,turbolinks,Ruby On Rails,Ruby On Rails 5,Turbolinks,当在body标记中使用“data Turbolinks”=>“false”时,Turbolinks被禁用,可以正常工作,但我们不能在代码中间的某个地方使用body标记,因此在任何其他标记(如div)中尝试使用body标记都不能禁用Turbolinks,那么有没有不使用body标记的方法呢 您可以这样做: 在您的app/helpers/application\u helper.rb文件中,创建一个黑名单turbolinks数组,该数组将以controller/action格式包含需要禁用turbo
app/helpers/application\u helper.rb
文件中,创建一个黑名单turbolinks数组,该数组将以controller/action
格式包含需要禁用turbolinks的所有页面。假设您不希望TurboLink出现在欢迎控制器的索引操作、文章控制器的显示操作中:
#app/helpers/application_helper.rb
模块ApplicationHelper
def TurboLink_黑名单_阵列
[“欢迎/索引”、“文章/展示”]
结束
结束
然后在您的应用程序/views/layouts/application.html.erb
中:
%div.col-md-2
Last updated (h:m):
%div
%body{"data-turbolinks" => "false"}
%strong= current_user.last_active_at ? local_time(current_user.last_active_at, '%d/%m/%Y %H:%M') : 'N/A'
编辑:或使用单行线:
<body
<% if turbolinks_blacklist_array.include?("#{params[:controller]}/#{params[:action]}") %>
<%= 'data-turbolinks="false"'.html_safe %>
<% end %>
>
<%= yield %>
</body>
我使用了erb
格式,但我认为同样的格式可以翻译成haml
。我从来没有使用过haml。除了使用body
标记之外,还有什么方法可以实现它吗?@user11350468如果您希望在整个页面上禁用TurboLink,那么我认为这是最好的方法。但我认为你也可以在链接上禁用它们。例如:
<body <%= turbolinks_blacklist_array.include?("#{params[:controller]}/#{params[:action]}") ? 'data-turbolinks="false"'.html_safe : '' %>>
</body>