Я пишу приложение Rails, которое использует WebSockets для связи с другими машинами (в этом процессе нет логики на стороне браузера и клиента). У меня есть канал:
class MachinesChannel < ApplicationCable::Channel
def subscribed
...
end
def unsubscribed
...
end
def handle_messages
...
end
end
Единственный способ получить данные, о котором я знаю, - это клиент JavaScript:
ActionCable.createConsumer('/cable').subscriptions.create 'MachinesChannel',
received: (message) ->
@perform('handle_messages')
Я могу вызывать методы на стороне сервера из JS через метод @perform()
.
Есть ли способ опустить часть JS и как-то напрямую обрабатывать входящие данные в MachinesChannel
?
Идеальной ситуацией было бы, чтобы метод handle_messages
принимал аргумент data
и вызывал этот метод для входящих данных.