7

L'utilisation de variables locales semble conseillée dans une partie qui pourrait être utilisée à l'échelle de l'application pour éviter les dépendances à travers l'application.Si vous utilisez uniquement des variables locales dans un partiel?

Mais au sein d'un seul contrôleur, il semble acceptable de référencer les variables d'instance que vous connaissez seront disponibles dans toutes les actions qui utilisent le partiel. Si vous faites cela, il y a cependant un risque qu'une action particulière puisse être modifiée pour ne plus fournir la variable d'instance à sa vue. Alors le partiel cesserait de fonctionner. Je ne suis pas sûr si c'est vraiment un problème, cependant, puisqu'une vue régulière rencontrerait le même risque.

Est-ce important si vous référencez des variables d'instance dans un partiel?

Répondre

7

Vous êtes sur un rouleau aujourd'hui! :-)

Vous pouvez passer des variables dans le partiel comme :locals pour garder tout cela agréable et propre. Par exemple,

render :partial => 'my_partial', :locals => { :some_variable => some_variable, :some_important_value => 'an important point!' } 

Ces variables sont alors disponibles dans la vue partielle:

<%= some_variable %> 
<%= some_important_value %> 

Cependant, il n'y a rien de mal à utiliser spécifiquement les variables d'instance dans votre partials.

+0

Merci d'avoir répondu à nouveau :) Alors, diriez-vous qu'il est toujours acceptable de faire référence à une instance variable dans une partie ou est-il juste de dire que cela crée une dépendance inacceptable? – eggdrop

+0

Eh, c'est bon. Les variables d'instance sont disponibles pendant toute la durée de votre session, ce qui, comme vous le dites, n'est ni meilleur ni pire que d'accéder à une vue propre. –

2

je ne recommande l'utilisation des variables d'instance tant que la partie n'est pas partagée, car cela peut se confondre très vite;)

Questions connexes