2013-07-30 3 views
10

Я начинаю работать с рельсами, и у меня есть приложение, работающее в dev (webrick).Предварительно скомпилированный CSS-файл не найден с рельсами 4 конвейер свойств

Проблема: предварительно скомпилированный файл CSS не найден в производстве.

Теперь я размещаю его на героку и разворачиваю. У меня есть сообщение о том, что активы предварительно скомпилированы (так что это не ошибка компиляции), и все по умолчанию для настроек.

У меня есть папка/public/assets, и все там. Я могу даже cat приложение - * .css-файл, и я получаю полный контент, который должен иметь.

Теперь, когда я пытаюсь получить доступ к файлу CSS, он дает мне ошибку 404 (даже если это автогенерированная ссылка css с использованием <%= stylesheet_link_tag "application", :media => "all" %>). Так что определенно это не проблема, что я сделал hardcode ссылку CSS.

Я не совсем уверен в том, что будет следующей проверкой.

Если вам интересно на выходе, в настоящее время оно доступно для общественности here.

ответ

14

Попробуйте изменить конфигурационный параметр config.serve_static_assets = false на номер config.serve_static_assets = true в вашем config/environments/production.rb, если вы еще этого не сделали.

+0

Ну, похоже, это трюк. Теперь мне просто нужно найти изображения. – Erick

+0

@Erick, изображения должны быть учтены и в этой конфигурации. Вы видите изображения в каталоге 'public/assets /'? Кстати, как вы ссылаетесь на эти образы, используется ли с помощью помощника image_path? – vee

+0

Я должен admet Я ссылаюсь на них жестко, используя /assets/something.jpg. Я попытаюсь использовать помощник image_path и посмотрю. – Erick

1

Единственное, что установил ее для меня в Rails 4 был

config.assets.compile = true 

в config/environments/production.rb

Это будет падать обратно в трубопровод активов, если предкомпилированного актив пропущенный, в соответствии с документацией.

+0

Документы также настоятельно рекомендуют никогда не устанавливать это в true в производстве, чтобы сделать работу приложения << – bkunzi01

+0

@ bkunzi01 теоретически, документация правильная. На практике, однако, это будет скомпилировано только один раз, чтобы я мог принять этот риск =) – Abdo

+0

Прохладно, как вы вынуждаете его компилировать только один раз после развертывания? Моя производительность приложений становится раздавленной, когда я разрешаю это :( – bkunzi01

Смежные вопросы