Turbolinks和jQuery兼容性Rails 5

Turbolinks和jQuery兼容性Rails 5

问题描述:

我有一个隐藏的字段,当点击链接使用jQuery时被激活。当点击链接时,该字段只显示一秒钟,然后消失。Turbolinks和jQuery兼容性Rails 5

$('.use-different-card').on "click", -> 
    $(".card-on-file").hide() 
    $(".card-fields").removeClass("hidden") 

当我删除turbolinks,jQuery似乎工作得很好。

我试过添加compatibility.coffee但我没有运气。

这是我的源代码树。

//= require jquery 
//= require jquery_ujs 
//= require jquery.turbolinks 
//= require turbolinks 
//= require compatibility 
//= require_tree . 

什么建议接下来要做什么?

你遇到的问题是你的jquery没有重新加载页面“更改”。相反的的document.ready()的包装功能,使用以下命令:

$(document).on('turbolinks:load', function() { 
    $('.use-different-card').on "click", -> 
    $(".card-on-file").hide() 
    $(".card-fields").removeClass("hidden") 
}) 

更新:此外,正在要求您jquery.turbolinks Jquery.ujs后!更改您的需求订单。按照创业板文档为jquery.turbolinks您需要application.css文件,如:

//= require jquery 
//= require jquery.turbolinks /*Notice this must be before jquery_ujs */ 
//= require jquery_ujs 

一旦这个命令纠正,你可能不需要再使用turbolinks:load通话。

+0

我已经尝试添加以下内容,但没有运气。有什么建议么? (“。card-on-file”)。hide(“。-card-on-file”)。hide(“。card-on-file”)。 () $(“。card-fields”)。removeClass(“hidden”) –

+0

@LauroSilva您正在使用哪个版本的Rails? – omnikron

+0

查看答案的更新。应该解决你的问题。 – bkunzi01