Sollten Sie nur lokale Variablen in einem Teil verwenden?
-
05-09-2019 - |
Frage
lokale Variablen verwenden scheint in einem Teil ratsam, die applikationsweit verwendet werden könnte Abhängigkeiten über die Anwendung zu vermeiden.
Aber in einem einzigen Controller scheint es akzeptabel Instanzvariablen zu verweisen, die Sie wissen, wird in alle Aktionen verfügbar sein, die teilweise nutzen.
Wenn Sie das tun, scheint es ein Risiko zu sein, aber, dass eine bestimmte Aktion nicht zu mehr erhält verändert kann die Instanz-Variable auf seine Ansicht zur Verfügung stellen. Dann würde der Teil aufhören zu arbeiten. Ich bin mir nicht sicher, ob dies wirklich ein Problem ist aber, da ein regelmäßiger Blick das gleiche Risiko begegnen würde.
Ist es egal, ob Sie Instanzvariablen in einem Teil verweisen?
Lösung
Sie sind auf einer Rolle heute! : -)
Sie können Variablen in den Teil passieren, wie :locals
dies zu halten alle schön und sauber. Zum Beispiel:
render :partial => 'my_partial', :locals => { :some_variable => some_variable, :some_important_value => 'an important point!' }
Diese Variablen sind dann in der Teilansicht zur Verfügung:
<%= some_variable %>
<%= some_important_value %>
Es gibt jedoch nichts spezifisch falsch mit Instanzvariablen in Ihrem partials verwendet wird.
Andere Tipps
würde ich nur empfehlen Instanzvariablen verwenden, solange die teilweise nicht geteilt wird, da dies sehr schnell verwirrend kann;)