@var dans Ruby est une variable d'instance, accessible dans toutes les méthodes de la classe ; pour les variables qui ne contiennent pas @, leur portée est dans la méthode actuelle.
ROR consiste à restituer le modèle en appelant une autre méthode après l'exécution de la méthode actuelle. De cette façon, le moyen le plus pratique de transmettre des variables entre deux méthodes consiste à utiliser des variables d'instance. Si vous utilisez des variables ordinaires et dépassez la portée, une erreur sera naturellement signalée.
Les variables commençant par @ sont des variables d'instance dans Ruby. En revanche, les variables commençant par @@ sont des variables de classe.
Dans Rails, les données sont transmises entre les contrôleurs et les vues via des variables d'instance. Ce processus est par défaut et n'a pas besoin d'être transmis explicitement.
Utilisez des variables commençant par @ comme variables d'instance.
Dans votre scénario, lorsque vous lancez une requête http, le mécanisme de routage des rails correspond à la méthode d'index de MyController pour la réponse .
Ainsi, ce qui suit se produira :
1. Initialisez une instance MyController et exécutez la méthode d'index.
2. Définissez la variable d'instance @output du contrôleur sur '123'.
3. Puisque vous n'avez spécifié aucun rendu spécifiquement, index.html.erb sera rendu par défaut
4. Copiez toutes les variables d'instance du contrôleur (en supprimant certaines qui ne doivent pas être copiées)
5. Instanciez une vue et définissez les variables d'instance que vous venez de copier du contrôleur vers la vue .
6. De cette façon, vous pouvez obtenir cette variable d'instance dans la vue.
@var dans Ruby est une variable d'instance, accessible dans toutes les méthodes de la classe ; pour les variables qui ne contiennent pas @, leur portée est dans la méthode actuelle.
ROR consiste à restituer le modèle en appelant une autre méthode après l'exécution de la méthode actuelle. De cette façon, le moyen le plus pratique de transmettre des variables entre deux méthodes consiste à utiliser des variables d'instance. Si vous utilisez des variables ordinaires et dépassez la portée, une erreur sera naturellement signalée.
Les variables commençant par @ sont des variables d'instance dans Ruby. En revanche, les variables commençant par @@ sont des variables de classe.
Dans Rails, les données sont transmises entre les contrôleurs et les vues via des variables d'instance. Ce processus est par défaut et n'a pas besoin d'être transmis explicitement.
N'oubliez pas cette règle.
@ en Ruby est équivalent à self en Python
Utilisez des variables commençant par
@
comme variables d'instance.Dans votre scénario, lorsque vous lancez une requête http, le mécanisme de routage des rails correspond à la méthode d'index de MyController pour la réponse
. Ainsi, ce qui suit se produira :
1. Initialisez une instance MyController et exécutez la méthode d'index.
2. Définissez la variable d'instance @output du contrôleur sur '123'.
3. Puisque vous n'avez spécifié aucun rendu spécifiquement, index.html.erb sera rendu par défaut
4. Copiez toutes les variables d'instance du contrôleur (en supprimant certaines qui ne doivent pas être copiées)
5. Instanciez une vue et définissez les variables d'instance que vous venez de copier du contrôleur vers la vue
. 6. De cette façon, vous pouvez obtenir cette variable d'instance dans la vue.