, MyApp.AdminNotifications, , , :
window.MyApp.AdminNotifications = class AdminNotifications
@init: ->
unless @initialized
App.cable.subscriptions.create "ProductsChannel",
received: (data) ->
console.log 'Data Received'
@initialized = true
API- Action .
, Turbolinks application.js, (. https://github.com/rails/rails/pull/23012#issue-125970208). , script, (if current_user.is_admin?). - , :
<meta name="current-user-is-admin" content="true">
:
window.MyApp.User = class User
constructor: ->
@isAdmin = @getMeta('current-user-is-admin') == 'true'
getMeta: (name) ->
meta = document.querySelector("meta[name=#{name}]")
meta.getAttribute('content') if meta
, , AdminNotifications , - application.js:
document.addEventListener('turbolinks:load', ->
window.MyApp.currentUser = new window.MyApp.User
window.MyApp.AdminNotifications.init() if window.MyApp.currentUser.isAdmin
)
, !