Rails 3.1 прекомпиляция активов - PullRequest
0 голосов
/ 14 декабря 2011

Я работаю над приложением rails 3 и пытаюсь развернуть его в производственной среде. Я использую capistrano для развертывания моего приложения и настроил его для предварительной компиляции ресурсов после задачи update_code.

Дело в том, что все работает нормально, когда я развертываю приложение. Следуя журналам производства сервера, я вижу это:

Compiled application.js  (6ms)  (pid 7552)
Compiled jquery.js  (4ms)  (pid 7552)
Compiled jquery_ujs.js  (0ms)  (pid 7552)
Compiled home.js  (94ms)  (pid 7552)
Compiled libs/dd_belatedpng.js  (0ms)  (pid 7552)
Compiled libs/modernizr-1.7.min.js  (0ms)  (pid 7552)
Compiled plugins.js  (0ms)  (pid 7552)
Compiled script.js  (0ms)  (pid 7552)
Compiled user_sessions.js  (93ms)  (pid 7552)
Compiled users.js  (92ms)  (pid 7552)
Compiled application.css  (3ms)  (pid 7552)
Compiled handheld.css  (0ms)  (pid 7552)
Compiled home.css  (55ms)  (pid 7552)
Compiled style.css  (0ms)  (pid 7552)
Compiled user_sessions.css  (1ms)  (pid 7552) 
Compiled users.css  (0ms)  (pid 7552)
Compiled application.js  (6ms)  (pid 7541)
Compiled jquery.js  (4ms)  (pid 7541)
Compiled jquery_ujs.js  (0ms)  (pid 7541)
Compiled home.js  (95ms)  (pid 7541)
Compiled libs/dd_belatedpng.js  (0ms)  (pid 7541)
Compiled libs/modernizr-1.7.min.js  (0ms)  (pid 7541)
Compiled plugins.js  (0ms)  (pid 7541)
Compiled script.js  (0ms)  (pid 7541)
Compiled user_sessions.js  (93ms)  (pid 7541)
Compiled users.js  (94ms)  (pid 7541)
Compiled application.css  (2ms)  (pid 7541)
Compiled handheld.css  (0ms)  (pid 7541)
Compiled home.css  (1ms)  (pid 7541)
Compiled style.css  (0ms)  (pid 7541)
Compiled user_sessions.css  (0ms)  (pid 7541)
Compiled users.css  (0ms)  (pid 7541)

Но если я пытаюсь отобразить главную страницу в браузере, я получаю это:

ActionView::Template::Error (style.css isn't precompiled):
    14: 
    15:     %link{:rel => "shortcut icon", :href => "/favicon.ico" }
    16:     %link{:rel => "apple-touch-icon", :href => "/apple-touch-icon.png"}
    17:     = stylesheet_link_tag    "style"
    18:     = javascript_include_tag "libs/modernizr-1.7.min"
    19:     = javascript_include_tag "application"
    20: 
  app/views/layouts/application.html.haml:17:in         `_app_views_layouts_application_html_haml__1713356285_69878424198520'

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

Кто-нибудь сталкивался с такой проблемой?

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 14 декабря 2011

Одним из решений является указание производственной среде не проверять предварительно скомпилированный файл в config/environments/production.rb и установить строку:

config.assets.compile = false

до

config.assets.compile = true

Перезагрузите сервер, а затем проверьте, где HALM ищет style.css, который должен быть assets/style.css


UPDATE

Вот еще один вариант

Сообщите вашему config/environments/production.rb скомпилировать именно этот файл, чтобы убедиться, что он компилируется.

config.assets.precompile += %w( style.css )

увидел это на https://stackoverflow.com/a/7541958/295228

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...