Я слежу за Руководством по уведомлению GoRails Navbar , чтобы отображать уведомление при создании / получении новых сообщений.
У меня работает index.json.builder (с которым я тестировал: http://localhost:3000/en/notifications.json
), и я вижу новые уведомления, созданные в модели уведомлений.
Затем я создал messages.json.coffee, чтобы заполнить раскрывающееся меню.Код выглядит следующим образом:
class Notifications
constructor: ->
@notifications = $("[data-behavior='notifications']")
@setup() if @notifications.length > 0
setup: ->
$.ajax(
url: "/notifications.json"
dataType: "JSON"
method: "GET"
success: @handleSuccess
)
handleSuccess: (data) =>
items = $.map data, (notification) ->
"<a class='dropdown-item' href='#{notification.url}'>#{notification.actor} #{notification.action} #{notification.notifiable.type}</a>"
$("[data-behavior='notification-items']").html(items)
jQuery ->
new Notifications
В разделе application.html.erb, navbar я добавил следующий код для создания звонка.
<li class="nav-item btn-group" data-behavior="notifications">
<a class="dropdown-toggle nav-link" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<%= fa_icon "bell" %>
</a>
<----
<div class="dropdown-menu" aria-labelledby="dropdownMenu1">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
---->
</div>
</li>
и мой маршрут для уведомлений выглядит следующим образом:
ресурсы: уведомления отправляют коллекцию в пост: mark_as_read end end
Несмотря на выполнение каждого шага учебника, я по-прежнемуесть пустое выпадающее меню.Есть ли что-то очевидное, что неверно в моем коде Jquery?
Для справки, я на Rails 5.0.