in socket.io, you can send message to all client except sender like:
socket.broadcast.emit(\'user connected\');
but in rails/actioncable, how t
Using jobs, you can make this with the logic in a partial.
In your model after create a record, call the job perform passing the self record.
See bellow how pass message to recieved data(at channel) using broadcast.
...
def perform(message)
ActionCable.server.broadcast "board:#{params[:board]}",
message: render_message(message)
end
private
def
ApplicationController.renderer.render(
partial: 'messages/message.html.erb',
locals: { message: message }
)
end
Create a partial in views/messages/_message.html.erb and in your code make
<%= if message.sender_id == current_user.id %>
The code to report that forwarded message.
<%= else %>
The code to send the message to all except sender.
<% end %>