如何将 stylesheet_link_tag 与 sprockets 4 一起使用?

How to use stylesheet_link_tag with sprockets 4?

我有文件 app/assets/stylesheets/themes/plexa/home.sass

  1. 添加到config/manifest.js

    //= link themes/plexa/home.css

  2. 检查 http://localhost:3000/assets/themes/plexa/home.css - 有效,我明白了 css!

  3. 但是如果我添加到 rails 布局:

stylesheet_link_tag "themes/plexa/home"这不行!

它引发 rails 异常:ActionView::Template::Error 在 / themes/plexa/home.css

尝试使用调试器:

byebug) stylesheet_link_tag "themes/plexa/home"
*** Sprockets::Rails::Helper::AssetNotPrecompiled Exception: themes/plexa/home.css

我阅读了所有 sprockets 文档和升级指南,但不明白为什么 stylesheet_link_tag 不起作用(Rails 5.1)

更新: = stylesheet_link_tag "/assets/themes/plexa/home" 有效,但我不明白为什么我需要设置资源路径?

更新:Sprockets 尚未更新这就是为什么 manifest.js 被忽略的原因,因为有一个旧的 ruby 版本 2.4.6,需要更新