我刚刚将一个Rails 5.1项目升级到Rails 6,并最终成功渲染视图。但是,我仍然无法让Puma(4.3.3)从public/
文件夹中提供静态文件。由于设置Webpack太难了,我选择使用Sprockets 4.0。我收到了以下错误:
Sprockets::Rails::Helper::AssetNotFound - The asset "intro_video.mp4" is not present in the asset pipeline.:
app/views/home/_intro_video.html.haml:1
app/views/home/index.html.haml:52
Started POST "/__better_errors/82e7c6297114c48a/variables" for 127.0.0.1 at 2020-04-02 09:05:05 -0400
我在开发环境中添加了
config.serve_static_assets = true
到我的config/environments/development.rb
文件中,并重新启动了服务器。相关页面链接到根目录下的“intro_video.mp4”,该文件存储在public/
文件夹中。如果我直接在Firefox中输入localhost:3000/intro_video.mp4
,会出现ActionController::RoutingError: No route matches [GET] \"/intro_video.mp4\"
错误提示。感谢任何帮助。谢谢。
编辑:我尝试将
intro_video.mp4
文件移动到app/assets/images
目录中,但现在我遇到了这个奇怪的问题:
这意味着我的SassC :: SyntaxError位于 /
错误:未定义变量:“$ light-gray”。 在datepicker.scss的第15行10处 color:$ light-gray;
application.scss
文件中的@import 'variables'
不能工作,但其中引用的所有其他文件都可以。实际上,如果我将任何文件添加到app/assets/images
目录中,都会出现这种情况。这对我来说毫无意义...再次编辑:所以我通过从
app/assets/config/manifest.js
中删除这个来解决CSS问题。//= link_directory ../stylesheets .css
...影响我的样式表的加载顺序
仍然无法从public/
目录中获得任何内容,所以我将把所有东西都移动到app/assets/images
。