Ruby on Rails

ActionCable & WebSockets

Real-time features, channels, subscriptions, broadcasting, cable.yml configuration, Redis adapter

18 questions d'entretien·
Confirmé
1

Qu'est-ce qu'ActionCable dans Ruby on Rails ?

Réponse

ActionCable est un framework intégré à Rails permettant d'implémenter des fonctionnalités temps réel via WebSockets. Il fournit une abstraction côté serveur en Ruby et côté client en JavaScript pour établir des connexions bidirectionnelles persistantes entre le navigateur et le serveur. ActionCable s'intègre naturellement avec le reste de l'application Rails, permettant d'accéder aux models et autres composants.

2

Quel fichier de configuration définit l'adaptateur utilisé par ActionCable pour le pub/sub ?

Réponse

Le fichier cable.yml situé dans config/ définit l'adaptateur de publication/souscription utilisé par ActionCable. Ce fichier spécifie différents adaptateurs selon l'environnement : async pour le développement (en mémoire, mono-processus), redis ou postgresql pour la production (permettant la communication entre plusieurs processus/serveurs). La configuration inclut généralement l'URL du serveur Redis et le canal à utiliser.

3

Dans quel répertoire sont généralement placés les channels ActionCable côté serveur ?

Réponse

Les channels ActionCable côté serveur sont placés dans app/channels/. Ce répertoire contient ApplicationCable::Connection (gestion des connexions et authentification) et ApplicationCable::Channel (classe de base pour tous les channels). Les channels personnalisés héritent d'ApplicationCable::Channel et définissent la logique métier pour chaque type de communication temps réel.

4

Quelle méthode utiliser dans un channel pour s'abonner à un flux de messages identifié par une chaîne ?

5

Quelle est la différence entre stream_from et stream_for dans ActionCable ?

+15 questions d'entretien

Maîtrise Ruby on Rails pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement