Я получаю сообщение об ошибке, используя кабель действия,
NameError (undefined local variable or method `connections_info' for MicropostNotificationsChannel:Class):
app/channels/micropost_notifications_channel.rb:12:in `notify'
app/models/notification.rb:8:in `block in <class:Notification>'
app/controllers/likes_controller.rb:11:in `create'
Rendering C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb
...
Насколько мне известно, и используя контроллеры и модели, я могу вызвать метод класса after_commit -> {MicropostNotificationsChannel.notify(self)}
, а затем перейти к self.notifiy(notification)
и затем какconnections_info
- это метод экземпляра, я должен иметь возможность вызывать его внутри этого класса и выполнять свой код, но я получаю здесь ошибку?
class Notification < ApplicationRecord
...
after_commit -> {MicropostNotificationsChannel.notify(self)}
end
Канал уведомления микросообщений кабеля действия
class MicropostNotificationsChannel < ApplicationCable::Channel
def subscribe
...
end
def unsubscribe
...
end
def self.notifiy(notification)
connection_results = connections_info
puts connection_results.inspect
end
end
Channel.rb
module ApplicationCable
class Channel < ActionCable::Channel::Base
def connections_info
# do stuff here
end
end
end