Таблица стилей CSS не работает с использованием Ruby on Rails: Ошибка Sprockets :: Rails :: Helper :: AssetNotFound - PullRequest
1 голос
/ 27 марта 2019

Я пытаюсь добавить файл CSS в мой проект rails.Я создал файл с именем style.css и поместил его в / project / public.В моем файле просмотра (index.html.erb) я добавил следующую строку кода:

<%= stylesheet_link_tag "style" %>

Когда я запускаю сервер rails, я получаю следующую ошибку:

    Sprockets::Rails::Helper::AssetNotFound in Articles#index
    Showing /mnt/c/code/blog/app/views/articles/index.html where line #34 

raised:

The asset **"style.css"** is not present in the asset pipeline.

Как можноЯ исправляю эту проблему?

Ответы [ 3 ]

0 голосов
/ 27 марта 2019

Актив "style.css" отсутствует в конвейере активов.

Это сообщение означает, что вы не включили свой файл в соответствующую папку для взаимодействия с конвейером ресурсов (/ project / public).

Для работы с конвейером активов необходимо соблюдать несколько правил:

первый:

Поместите его в целую папку (vendor, assets или lib). Это три разные папки в папке вашего проекта, которые конвейер ресурсов предназначен для поиска файлов, объявленных в манифесте или названных по отдельности с помощью stylesheet_link_tag.

, то:

Позвони с stylesheet_link_tag.

Подробнее о пути поиска активов https://guides.rubyonrails.org/asset_pipeline.html#search-paths

примечание:

Вы также можете использовать манифест приложения, предоставляемый rails assets/application.css и assets/application.js, и вызывать его в своем html вместо того, чтобы вызывать каждый файл отдельно ... что является своего рода намерением конвейера активов.

как написано:

Конвейер ресурсов обеспечивает структуру для объединения и минимизации или сжатия ресурсов JavaScript и CSS. Также добавлена ​​возможность писать эти ресурсы на других языках и препроцессорах, таких как CoffeeScript, Sass и ERB. Это позволяет автоматически комбинировать активы в вашем приложении с активами из других драгоценных камней.

вы упускаете все эти встроенные товары, когда не декларируете свои файлы в манифесте.

подробнее читать https://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

0 голосов
/ 28 марта 2019

Что сработало:

  1. Я скопировал содержимое style.css и сохранил его как style.css.scss

  2. Я сохранил новый файл в / project / app / assets / stylesheets

0 голосов
/ 27 марта 2019

Подробнее об активах можно узнать в руководстве

По сути, Rails ищет ресурсы внутри приложения в одном из трех мест: приложение / активы , lib / assets или продавец / активы . Вы должны поместить файл .css в одно из этих мест.

app/assets is for assets that are owned by the application, such as custom images, JavaScript files or stylesheets.

lib/assets is for your own libraries' code that doesn't really fit into the scope of the application or those libraries which are shared across applications.

vendor/assets is for assets that are owned by outside entities, such as code for JavaScript plugins and CSS frameworks. Keep in mind that third party code with references to other files also processed by the asset Pipeline (images, stylesheets, etc.), will need to be rewritten to use helpers like asset_path.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...