Ich bin gerade von meiner Entwicklungsdatenbank in die Produktionsdatenbank gewechselt, und mir wurde klar, dass ich einen konsistenten Fehler bekomme, egal welche Ansicht ich öffnen möchte. Die Stylesheets werden nicht richtig geladen, obwohl sie an der richtigen Stelle sind.Rails Production Server: Stylesheets werden nicht angezeigt!
Hier einige Informationen über den Fehler:
Ansicht
<head>
<%= stylesheet_link_tag "global", "home", "http://static.flowplayer.org/tools/css/scrollable-navig.css" %>
</head>
Console
Started GET "/stylesheets/global.css?1287048448" for 127.0.0.1 at 2010-10-15 00:18:43 -0400
Processing by WelcomeController#long_switchboard as CSS
Parameters: {"1287048448"=>nil, "path"=>"stylesheets", "link"=>"global"}
Completed in 2ms
NoMethodError (undefined method `id' for nil:NilClass):
app/controllers/welcome_controller.rb:76:in `long_switchboard'
Rendered C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (2.0ms)
Rendered C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (7.0ms)
Rendered C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack3.0.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (108.0ms)
Seite Quelle
<link href="/stylesheets/global.css?1287048448" media="screen" rel="stylesheet" type="text/css" />
<link href="/stylesheets/home.css?1287086704" media="screen" rel="stylesheet" type="text/css" />
<link href="http://static.flowplayer.org/tools/css/scrollable-navig.css" media="screen" rel="stylesheet" type="text/css" />
Wenn ich versuche, die 'global' zu öffnen und "home" Stylesheet s aus der Seitenquelle, sie sind nicht geöffnet. Ich habe versucht, der URL "public /" hinzuzufügen, aber es besagt, dass keine Route übereinstimmt.
Ort
Alle nicht-http Sheets ist in root/public/stylesheets/
Routen
Die letzten beiden Strecken sind das 'catch all' gibt es nur für ein bestimmtes Merkmal auf der Standort. Diese scheinen meine Stylesheets (und möglicherweise auch andere Tags) zu erfassen.
match ':path/:link' => 'welcome#long_switchboard'
match ':path' => 'welcome#short_switchboard'
Die Routes-Seite führt sie unten in eine Catchall-Controller-Aktion auf meiner Routerseite, die meine Site als Funktion für Benutzerfreundlichkeit verwendet (Benutzer können verschiedene URLs für andere Benutzer erstellen). Es gibt keine 404 oder 403 - stattdessen bekomme ich nur eine hässliche unformatierte Seite! – sscirrus
Das Problem liegt also in 'routes.rb' ... Stellen Sie sicher, dass'/stylesheets', '/ images','/javascripts' usw. nicht von der "catch-all" Route abgefangen werden. Poste deine 'routes.rb' wenn du Vorschläge haben möchtest, wie das zu beheben ist. – Mischa
Ich habe die routes-Datei Tokyo hinzugefügt. Danke – sscirrus