Nehmen Sie den folgenden Code:
%Vor% Ich möchte name
und all diese Variablen für das gesamte Skript sowie für die Ansichten verfügbar machen. Ich habe versucht, sie zu globalen Variablen zu machen, aber keine Würfel.
Es könnte nicht der "sauberste" Weg sein, es zu tun, aber es sollte funktionieren:
- & gt; Ссылка :)
Einstellung:
%Vor%bekommen:
%Vor%Machen Sie sie zu Konstanten. Sie sollten es trotzdem sein, oder? Sie werden sich nicht ändern.
Machen Sie eine Konstante, indem Sie sie in Großbuchstaben schreiben.
Lesen Sie diesen Artikel zu Ruby-Variablenbereichen, wenn Sie weitere Probleme haben. Ссылка
Eine weitere saubere Option kann eine Config-Klasse sein, bei der die init-Methode die YAML lädt und dann die Variablen einrichtet.
Viel Spaß. @melden Sie mich, wenn Sie Ihr neues Blog fertig haben (ich vermute, das ist es, wozu es da ist).
Aus der Sinatra README :
Vorlagen werden im selben Kontext wie Routen-Handler ausgewertet. Instanzvariablen, die in Route-Handlern festgelegt sind, sind direkt über Templates zugänglich:
%Vor%Oder geben Sie einen expliziten Hash der lokalen Variablen an:
%Vor%Dies wird normalerweise verwendet, wenn Vorlagen als Teilbereiche innerhalb anderer Vorlagen gerendert werden.
Eine dritte Option wäre, Accessoren für sie als Hilfsmethoden einzurichten. (Welche auch in der gesamten Anwendung und den Ansichten verfügbar sind.)