Laden von Stylesheets in Sinatra
Ich bin mit Sinatra, und ich habe versucht, zu laden, in einigen stylesheets. Ich habe versucht, einfach die normalen html - link
tag in meinem erb, aber das hat nicht geklappt.
ive versucht,
<head>
<link href="style.css" type="text/css" />
</head>
Es ist nicht ein Problem mit der url, die ich verwende, gibt es einige Besondere Art und Weise, dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
href="style.css"
bist du die Angabe mit einem relativen link auf das stylesheet. Der eigentliche Weg, dass Ihr browser die Anforderung hängt von der url der aktuellen Seite, so zum Beispiel, wenn Sie eine route wie:dann der browser sucht für das stylesheet an
/things/style.css
. Dieser wird offensichtlich nicht funktionieren, wenn Sie Ihr stylesheet ist auf der obersten Ebene in Ihrempublic
dir.Quick fix ist, verwenden Sie einen absoluten Pfad zu Ihrem stylesheet:
href="/style.css"
(Hinweis: die/
Charakter). Dadurch wird der browser immer den Blick für das stylesheet im root des Servers.Dies setzt Voraus, dass Ihre Anwendung ist immer angebracht, an der Wurzel Ihrer server, und schlägt fehl, wenn Sie Ihre führen Sie es in ein Unterverzeichnis. Sie wollen in der Lage sein zu sagen, "schauen Sie für das stylesheet im root von dieser Anwendung, wo immer es passiert zu sein". In Sinatra können Sie dies mit Hilfe der
url
Helfer-Methode. Mit ERB als Vorlage Sprache dieser würde wie folgt Aussehen:Dadurch wird sichergestellt, den link zu
style.css
wird richtig sein, wo Ihre app befindet.