что я хочу сделать
Просто изучение Rails - попытка добавить забавный стиль и скрипт в проект по умолчанию rails new appname
.Следуйте руководству по реализации MDB здесь , что означает добавление стилей и сценариев в vendor/assets/(stylesheets or javascripts)
и включение файлов в конвейер ресурсов.
проблема заключается в
Bootstrap, например, включается в разметку в своем собственном маленьком теге <link>
, но блокируется CSP, который говорит:
Refused to load the stylesheet 'http://0.0.0.0:3000/assets/bootstrap.self-084....css?body=1'
because it violates the following Content Security Policy directive: "style-src 'unsafe-inline'".
что не помогло
Я попытался определить, где точно определен CSP, но для такого коричневого носа, как я, не так легко ориентироваться в этом довольно плотном эшафоте.Пробовал перебирать в /vendor/bundle/ruby/2.3.0/gems/actionpack-5.2.1.1/lib/action_dispatch/http/content_security_policy.rb
и 'vendor/bundle/ruby/2.3.0/gems/railties-5.2.1.1/lib/rails/application_controller.rb'
->, но безуспешно.
Пробовал перезаписать content_security_policy внутри моего app/asstes/controllers/application_controller.rb
класса ApplicationController , вот так:
content_security_policy do |p|
p.style_src "self"
p.script_src "self"
end
, но сообщение об ошибке в консоли остается прежним.
Я знаю о хромированных плагинах, которые можно использовать для отключения и тестирования CSP, но похоже на читерство.
вопрос
Как настроить параметры заголовка CSP, чтобы приложение Rails учитывало активы, переданные по активам?
Заранее спасибо