8 Stimmen

Warum sollte man Instanzvariablen verwenden, um Controller mit Views zu "verbinden"?

Dies ist eine konzeptionelle Frage, und ich habe die Antwort nicht in SO finden können, also fange ich an:

Warum werden Instanzvariablen zur Verbindung von Controllern und Views verwendet? Haben wir nicht zwei verschiedene Objekte von zwei verschiedenen Klassen (Controller vs. Views). Wenn der View gerendert wird, befinden wir uns also in einem anderen Kontext, aber wir verwenden Instanzvariablen eines anderen Objekts? Wird dadurch nicht die Kapselung in gewisser Weise gebrochen?

Wie schafft es Rails, dieses Matching von einem Objekt zum anderen durchzuführen? Klont es alle Instanzvariablen des Controllers in die Ansicht?

4voto

mbreining Punkte 7519

Rails verwendet eval y Verbindlich um Controller-Instanzvariablen an Views zu übergeben. Siehe diese Präsentation von Dave Thomas In Minute 46' gibt es ein kleines Beispiel, das erklärt, wie man das macht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X