Why occur Uncaught ReferenceError: $ is not defined coffeescript in rails 5.2?

Why occur Uncaught ReferenceError: $ is not defined coffeescript in rails 5.2?

我在 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>

welcome.coffee:

@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)

但它不起作用并出现错误:Uncaught ReferenceError: $ is not defined

我的 Gemfile 添加了:

gem 'jquery-rails'

application.js:

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

为什么会出现Uncaught ReferenceError: $ is not defined coffeescript in rails 5.2?

我的问题已通过更改订单库解决: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