Я пытаюсь включить уведомления в свое приложение rails, и я внимательно следую этому руководству: https://gorails.com/episodes/in-app-navbar-notifications
Все работает нормально до того момента, когда я хочу динамически добавлять уведомления в html.
Кажется, что файл coffescript вообще не выполняется. Даже когда я просто хочу console.info, div не выполняется
navbar.html.erb
<% if current_user.is_a?(User) %>
<div class = "icon">
<div class = "btn-group dropleft" data-behavior = "notifications">
<a class = "dropdown-toggle" data-toggle = "dropdown" aria-
haspopup = "true" aria-expanded = "false" href = "#" data-
behavior = "notifications-link">
<i class = "far fa-bell icon-selector"></i><span data-
behavior = "unread-count"></span>
<p>Notifications</p>
</a>
<div class = "dropdown-menu" data-behavior = "notification-items">
<a href = "#" class = "dropdown-item">Action</a>
</div>
</div>
</div>
....
notifications.js.coffee
class Notifications
constructor: ->
@notifications = $("[data-behavior='notifications']")
@setup() if @notifications.length > 0
setup: ->
console.info(@notifications)
$.ajax(
url: "/notifications.json"
dataType: "JSON"
method: "GET"
success: @handleSuccess
)
jQuery ->
new Notifications
Привет ! Не явно, но я включил дерево требований. который загружает все файлы в конвейер ресурсов. Также я знаю, что загружается notifications.js.coffee, потому что если я удалю все и поставлю предупреждающее сообщение, оно выполнится. Есть ли у вас другие идеи? Я рад поделиться своим репо
у вас есть ошибка в консоли браузера? если вы поместите строку debugger enywhere, выполнение остановится, и вы сможете отлаживать это шаг за шагом в реальном времени
Это то, что у меня нет никаких ошибок: p Я знаю, что страница загружается, и я думаю, что coffeescript даже компилируется в Javascript, потому что я вижу его в файле конвейера ресурсов, но это похоже на то, что на стороне браузера ничего не происходит ...
скопирован ли .coffee с имеющимся у вас отступом? потому что конструктор и настройка должны быть с отступом, а new Notifications тоже должен быть с отступом
Да, отступ правильный. Поскольку я использую Rails 5, мне также не нужно включать его в свой гем-файл, так как он там по умолчанию, верно? Я включил снимок экрана скомпилированного файла application.js, к которому я получил доступ через локальный: 3000 / активы / application.js, может быть, это поможет? Кстати, спасибо за ваши усилия
Я бы добавил строку debugger перед new Notifications (возможно, еще один внутри конструктора и еще один внутри настройки, потому что я не умею отлаживать пошагово, хахаха) и проверять все, что я могу
Спасибо, что помогло !! Теперь я знаю, где ошибка! Что-то не так в синтаксисе, если бы вы могли посмотреть, было бы здорово stackoverflow.com/questions/52183528/…






Вы добавили файл в манифест application.js?