ActionCable関係記事まとめ
Rails5の新機能であるActionCableを扱った記事・資料をまとめです。随時更新していきます。
photo by Nic McPhee | Flickr - Photo Sharing!
リリースノート
- Riding Rails: Rails 5.0.0.beta1: Action Cable, API mode, Rails command
- Rails公式リリース情報
- Rails 5.0で追加される主な新機能(Ruby on Rails公式ブログより) - Qiita
- @jnchito氏による上記の日本語解説記事
チュートリアル
これからActionCableを使ったアプリケーションを作りたい方はまずはチュートリアルを参照してみましょう。
- Rails 5: Action Cable demo - YouTube
- DHH氏によるActionCableを使ったシンプルなチャットアプリの作り方チュートリアル動画
- Rails 5 + ActionCableで作る!シンプルなチャットアプリ(DHH氏のデモ動画より) - Qiita
- @jnchito氏による上記動画を元にしたシンプルなチャットアプリの作り方チュートリアル記事
- コード: https://github.com/JunichiIto/campfire
アプリケーション事例
ActionCableを利用・応用したアプリケーション事例です。
- Rails5の新機能ActionCableを使ったスライド共有システムを作ってみた - devひよこのあしあと
- 手前ミソですがスライド共有サイト構築事例
- コメント追加・配信とページ遷移追従のためにActionCableを利用
- 実例: https://nslides.devchick.link/
- コード: GitHub - devchick/nslides: スライド共有システムnslides
- ActionCable と react-rails でサンプル作ってみた — Commerce Hack
- テスト環境用のDNSサーバー設定切り替えシステム構築事例
- DNSサーバーの起動・終了の通知、ログ配信にActionCableを利用
- コード: GitHub - essa/ore_ore_dns
- Action Cable + Flux + React でリアルタイムチャットデモを作ってみた - Qiita
- ActionCableによるデータのやりとりをFluxに当てはめた事例
- 実例: http://fluxchat.takeyu-web.com/
- コード: https://github.com/takeyuweb/rails-fluxchat-example
- Building a chess server in Rails 5 with Action Cable-powered WebSockets — Jargon
- チェスアプリ
- ケーブル接続時に生成したUUIDでブロードキャスト先のケーブルを識別
- コード: https://github.com/joeyschoblaska/rails5chess
- 天下Wiki武道会のスライド - WikiNote
- Wikiページのリアルタイム同時編集
- React.jsのstateの変更をケーブルで繋がった先にブロードキャスト
- 実例: WikiNote - いますぐ書き始められるWikiノート
ハック / 解説 / やってみた
- Action CableのREADMEを読んでみた! - 酒と泪とRubyとRailsと
- ActionCable公式のREADMEの日本語解説
- ActionCableを読み解く(cable server 編) - Qiita
- ActionCableの実装を覗いて仕組みを解説
- ActionCableコードリーディングその1 - Qiita
- [Rails5]Action Cableのサンプルを読み解いてみる - Qiita
- Rails公式のActionCableサンプルを題材に実装方法を解説
- Rails4系でのActionCableの使い方 - 珈琲駆動開発
- Rails4系でActionCableを利用した事例
- 4系でも5系でも大きな違いなく実装できるっぽいですね
- コード: https://github.com/totzyuta/chat-actioncable
- ActionCableをwebsocket APIとして使ってUnityと通信する - Qiita
- C#からActionCableを利用する方法を紹介
インフラ構築 / デプロイ / 運用
- Rails5のActionCableをCapistrano経由でデプロイ - Qiita
- nginx⇔puma⇔ActionCableの構成を設定する方法を紹介
- AnsibleでElastiCacheをセットアップしてRails5から利用する - devひよこのあしあと
- ActionCableが利用するRedisの構築と設定を紹介
ハマりどころ / 失敗談
だいたい皆さんallowed_request_originsにはハマるようですね。(もちろん私もハマりました...)
- Vagrantでサーバー立ててActionCableを試してる時にRequest origin not allowedがでて辛い - Qiita
- allowed_request_originsの罠
- ruby on rails - ActionCable.server.broadcast from the console - Stack Overflow
- Rails consoleからActionCableのブロードキャストを実行する方法
- developmentモードでデフォルト設定になっているasyncアダプターは同じプロセス上でしか通信できないもよう。redisアダプターを使ったらconsoleからでも利用できるみたい。
- websocket - Rails 5 actioncable undefined method `fetch' for nil:NilClass - Stack Overflow
- Rails5のbeta2からcable.ymlの配置場所が変わっているために設定が読めなかったためっぽい
- ruby on rails - How can I test ActionCable channels using RSpec? - Stack Overflow
- ActionCableのテストのやり方
- Unable to use wscat to connect to an ActionCable WebSocket on Ruby on Rails 5 Beta - Stack Overflow
- wscatで接続できない
- ruby on rails - ActionCable - how to display number of connected users? - Stack Overflow
- 接続数を取得するには
ActionCable.server.connections.length
としたらよいみたい
- 接続数を取得するには