12/08/2018, 15:01

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

0