代码之家  ›  专栏  ›  技术社区  ›  D T

为什么发生未捕获的引用错误:$is not defined coffeeesccript in rails 5.2?

  •  0
  • D T  · 技术社区  · 6 年前

    我在Rails 5.2中使用咖啡脚本: 请参阅: http://guides.rubyonrails.org/working_with_javascript_in_rails.html

    我的代码:welcome/index.html.erb:

    <a href="#" onclick="paintIt(this, '#990000')">Paint it red</a>
    <a href="#" onclick="paintIt(this, '#009900', '#FFFFFF')">Paint it green</a>
    <a href="#" onclick="paintIt(this, '#000099', '#FFFFFF')">Paint it blue</a>
    

    欢迎光临。咖啡:

    @paintIt = (element, backgroundColor, textColor) ->
      element.style.backgroundColor = backgroundColor
      if textColor?
        element.style.color = textColor
    
    $ ->
      $("a[data-background-color]").click (e) ->
        e.preventDefault()
    
        backgroundColor = $(this).data("background-color")
        textColor = $(this).data("text-color")
        paintIt(this, backgroundColor, textColor)
    

    但它不工作并发生错误:未捕获引用错误:$未定义 enter image description here

    我的GemFile添加了:

    gem 'jquery-rails'
    

    应用程序.js:

    //= require rails-ujs
    //= require activestorage
    //= require turbolinks
    //= require_tree .
    //= require jquery
    //= require jquery_ujs
    //= require bootstrap-sprockets
    

    为什么发生未捕获的引用错误:$is not defined coffeeesccript in rails 5.2?

    1 回复  |  直到 6 年前
        1
  •  2
  •   D T    6 年前

    我的问题由变更单LIB解决: jquery 转到上面 turbolinks

    //= require rails-ujs
    //= require activestorage
    //= require turbolinks
    //= require_tree .
    //= require jquery
    //= require jquery_ujs
    //= require bootstrap-sprockets
    

    //= require rails-ujs   
    //= require activestorage
    //= require jquery
    //= require jquery_ujs
    //= require turbolinks
    //= require_tree .  
    //= require bootstrap-sprockets