Почему происходит Uncaught ReferenceError: $ не определено coffeescript в rails 5.2? - PullRequest
0 голосов
/ 23 мая 2018

Я использую сценарий кофе в 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: $ не определено enter image description here

Мой 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: $ не определено coffeescript в рельсах 5.2?

1 Ответ

0 голосов
/ 24 мая 2018

Моя проблема была решена путем изменения порядка 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...