Tìm hiểu về Action Cable trong Rails
I. Action cable là gì Action cable được Rails tích hợp WebSocket để hỗ trợ realtime được viết bằng Ruby . Nó cho phép ta client-side Javascript và server-side Ruby II.Config trong routes trong views III.Cấu trúc Rails chia nó ra làm 2 phần Server-side và Client-side 1. ...
I. Action cable là gì
Action cable được Rails tích hợp WebSocket để hỗ trợ realtime được viết bằng Ruby . Nó cho phép ta client-side Javascript và server-side Ruby
II.Config
trong routes trong views
III.Cấu trúc
Rails chia nó ra làm 2 phần Server-side và Client-side 1. Server-side Được định nghĩa trong app/channels
- Connection: Được hình thành khi client-server liên kết với nhau . Rails định nghĩa sẵn trong file app/channels/application_cable. Ta có thể setup hàm connection trong đây
- Channel: Rails tạo sắn 1 class Channel kế thừa ActionCable::Channel::Base trong app/channels/application_cable/channel.rb. Có thể tự tạo 1 channel khác.
2 Client-side Rails sử dụng Javascript để định nghĩa Connections: Mặc định thì Channels cho consumer được Rails định nghĩa sắn ở app/assets/javascripts/cable.js Tuy nhiên cần tạo channel khác cho các subscriber trong app/assets/javascripts/channels
IV.Cách thức hoạt động
Stream : Server và client tương tác bằng cách sử dụng Stream
Ngoài ra Subcription cho phép ta xử lý khi có kết nối, mất kết nối hoặc có dữ liệu truyền đến
Để gửi dữ liệu về phía client ta sử dụng boardcast
Do mới tìm hiểu về Action Cable nên có thể còn sai sót, mong mọi người góp ý . Mình xin cảm ơn. Link tham khảo : https://www.learnenough.com/action-cable-tutorial#sec-the_room_channel http://edgeguides.rubyonrails.org/action_cable_overview.html https://viblo.asia/nguyen.vu.quang/posts/qzaGzdbOkyO