Je viens de passer de ma base de données de développement à la base de données de production, et je me suis rendu compte que je recevais un nom d'erreur cohérent quelle vue j'essaie d'ouvrir. Les feuilles de style ne se chargent pas correctement, bien qu'elles soient à la bonne place.Rails Serveur de production: les feuilles de style ne s'affichent pas!
Voici quelques informations sur l'erreur:
Voir
<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)
page Source
<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" />
Lorsque je tente d'ouvrir le 'global' et feuille de style 'maison' s de la source de la page, ils ne sont pas ouverts. J'ai essayé d'ajouter 'public /' à l'URL mais cela ne correspond à aucune correspondance.
Lieu
Tous les non-http stylesheets sont root/public/stylesheets/
Routes
Les deux derniers itinéraires sont les 'fourre-tout', seulement là pour une caractéristique particulière sur le site. Ceux-ci semblent attraper mes feuilles de style (et probablement d'autres étiquettes aussi).
match ':path/:link' => 'welcome#long_switchboard'
match ':path' => 'welcome#short_switchboard'
La page des routes les emmène dans une action de contrôleur catchall au fond de ma page Routes, que mon site utilise comme fonctionnalité pour la commodité de l'utilisateur (les utilisateurs peuvent créer des URL différentes pour que les autres puissent y accéder). Il n'y a pas de 404 ou 403 - à la place, je reçois juste une page non formatée laide! – sscirrus
Donc le problème est dans 'routes.rb' ... Assurez-vous que'/stylesheets', '/ images','/javascripts' etc. ne sont pas interceptés par la route 'catch-all'. Publiez votre 'routes.rb' si vous voulez des suggestions pour résoudre ce problème. – Mischa
J'ai ajouté le fichier de routes, Tokyo. Merci – sscirrus