Comment puis-je déclarer une variable globale dans Ruby on Rails?
Comment puis-je déclarer une variable globale dans Ruby on Rails?
Mon exemple de code:
dans mon controller#application.rb
:
def user_clicked()
@current_userid = params[:user_id]
end
dans mon layout#application.html.haml
J'ai encadré avec ce lien:
= link_to "John", user_clicked_path(:user_id => 1)
= link_to "Doe", user_clicked_path(:user_id => 2)
= link_to "View clicked user", view_user_path
dans mon views#view_user.html.haml
:
%h2 @current_userid
Je veux déclarer une variable globale qui peut modifier mon contrôleur et de l'utiliser n'importe où, comme le contrôleur, points de vue, et etc. Le ci-dessus n'est qu'un exemple de scénario. Si je clique sur le Jean ou Doe lien, il va envoyer une user_id
pour le contrôleur et quand je clique sur "voir cliqué utilisateur" lien, il affiche le dernier lien cliqué. C'est soit John=1
ou Doe=2
.
Bien sûr, si je clique sur "voir cliqué utilisateur" lien, il affiche nil
.
source d'informationauteur do_Ob
Vous devez vous connecter pour publier un commentaire.
En Ruby, les variables globales sont déclarées par la préfixation de l'identifiant à
$
Que vous voyez rarement utilisé pour un certain nombre de raisons. Et ce n'est pas vraiment ce que vous cherchez.
En Ruby, les variables d'instance sont déclarées avec
@
:Rails automatiquement de passe du contrôleur de variables d'instance, à la vue du contexte.
De deviner ce que c'sorties et je vais vous donner un cookie.
Dans votre exemple
@global_variable
est nul depuiscontroller#sample_1
n'est pas appelé - la demande devra passer parcontroller#sample_2
.