Сервер Rails Production: таблицы стилей не отображаются! - PullRequest
12 голосов
/ 15 октября 2010

Я только что переключился с моей базы данных разработки на производственную базу данных, и я понял, что получаю непротиворечивое сообщение об ошибке, какое представление я пытаюсь открыть.Таблицы стилей загружаются неправильно, несмотря на то, что находятся в правильном месте.

Вот некоторая информация об ошибке:

Просмотр

<head>
<%= stylesheet_link_tag "global", "home", "http://static.flowplayer.org/tools/css/scrollable-navig.css" %>
</head>

Консоль

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)

Источник страницы

<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" />    

Когда я пытаюсь открыть «глобальные» и «домашние» таблицы стилей из источника страницы, они не открываются.Я попытался добавить 'public /' в URL, но там указано, что не найдено ни одного маршрута.

Расположение

Все таблицы стилей, отличные от http, находятся в корневом / public / stylesheets /

Маршрутах

Последние два маршрута являются «универсальными», только для определенной функции на сайте.Кажется, они ловят мои таблицы стилей (и, возможно, другие теги).

match ':path/:link' => 'welcome#long_switchboard'  
match ':path' => 'welcome#short_switchboard'

1 Ответ

18 голосов
/ 15 октября 2010

У этой темы есть несколько предложений ...

В зависимости от вашего веб-сервера вам может потребоваться изменить следующую настройку в config/environments/prodcution.rb с:

config.serve_static_assets = false

Кому:

config.serve_static_assets = true
...