Фоновое изображение не загружается на моей странице просмотра. Показывая эту ошибку.
ActionController:: RoutingError (Нет совпадений маршрутов [GET] "/assets/images/control_top.png" )
что я могу сделать, чтобы решить эту проблему?
Фоновое изображение не загружается на моей странице просмотра. Показывая эту ошибку.
ActionController:: RoutingError (Нет совпадений маршрутов [GET] "/assets/images/control_top.png" )
что я могу сделать, чтобы решить эту проблему?
В процессе производства Rails не несет ответственности за обслуживание статических активов. Поэтому вы получаете эту ошибку.
Этот параметр управляется этим параметром в config/environment/production.rb в вашем приложении:
config.serve_static_assets = false
Вы можете установить значение true
или попробуйте это
rake assets:precompile
(компилирует и копирует изображения, css и js из приложения/активов в public/.
Если вы переходите на новую версию Rails (Rails 4 и Rails 3.2.16 приходят на ум), и вы вдруг начинаете видеть эту ошибку, вполне вероятно, что ваша таблица стилей указывает на не отпечатки пальцев, кешированная версия файлов. Если вы используете конвейер активов, чтобы воспользоваться им, вам нужно использовать новые помощники, которые указывают на отпечатанную, кэшированную версию файлов. Для этого вам нужно либо вставить erb в ваш файл css, либо использовать sass.
Неправильно (используется sass):
.class
background: url('asset.png') no-repeat
Исправить (использует sass):
.class
background: image-url('asset.png') no-repeat
Для получения дополнительной информации см. здесь: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets
Помогите кому-нибудь, я попробовал все ответы и забыл самую основную вещь. Очистка кеша браузера, как только я сделал это, было хорошо:)
вам нужно запустить эту команду
rake assets:precompile
Я продолжал использовать конвейер активов, но мне пришлось изменить жесткий код, который я использовал следующим образом (для моей среды разработки):
Я обновил my/config/application.rb для использования конвейера активов:
config.assets.enabled = true
Я изменил все мои URL-адреса изображений, чтобы указать на "/assets/image_without_old_image_directory_name.jpg"
так, например, мои изображения раньше были в /public/images/xxx.jpg. Я переместил их в /app/assets/images/xxx.jpg. Я изменил img src из /images/xxx.jpg в/assets/xxx.jpg
Мне не пришлось делать предварительную компиляцию активов и просто удалять все видимые аспекты конвейера активов в /public и в /tmp, и он просто работал (для разработки).