Html Rails 4 sass应用程序文件不';无法读取导入的css文件

Html Rails 4 sass应用程序文件不';无法读取导入的css文件,html,css,ruby-on-rails,twitter-bootstrap,heroku,Html,Css,Ruby On Rails,Twitter Bootstrap,Heroku,这是我的application.css.sass: @import "global.css.sass" @import "bootstrap.css" 当我在localhostapplication.css?body=1查看源代码时,我看到: @import url(bootstrap.css); #content-wrap { width: 90%; margin: 0 auto; } 因此global.css.sass包含以下内容: #content-w

这是我的application.css.sass:

@import "global.css.sass"
@import "bootstrap.css"
当我在localhost
application.css?body=1查看源代码时,我看到:

@import url(bootstrap.css);

    #content-wrap {
      width: 90%;
      margin: 0 auto; }
因此global.css.sass包含以下内容:

#content-wrap
  width: 90%
  margin: 0 auto
所以这是正确导入的,但不是bootstrap.css文件。它在本地主机上工作,因为它位于本地文件路径上。但是,在生产过程中,我的资产在aws上:

application-a0546f0315a891e8129e1f8e49eb7e45.css
当查看源代码时,内容与我的本地主机上的内容相同,但是路径上没有引导,因此该文件丢失,我想知道为什么它不全部捆绑在一个大的应用程序文件中,以下是我的资产相关配置

发展:

config.assets.compress = false
config.assets.digest = false
制作:

  config.serve_static_assets = false

  # Compress JavaScripts and CSS
  config.assets.compress = true

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = false

  # Generate digests for assets URLs
  config.assets.digest = true
我做错了什么?谢谢你的帮助

更新:

这是我的chrome控制台中的示例位:

Request URL:http://my-bucket.s3.amazonaws.com/assets/bootstrap.css
Request Method:GET
Status Code:403 Forbidden
请查看来自SCS的

@导入采用要导入的文件名。默认情况下,它会查找Sass 文件直接导入,但在某些情况下 它将编译为CSS@import规则:

  • 如果文件扩展名为.css。
  • 如果文件名以http://开头
  • 如果文件名是url()
  • 如果@import有任何媒体查询
查看的usge和SCSS给出的
@import
之间的差异很重要

scss文件中写入此内容时:

@import "somefile.css"
文件
somefile.css
将不会合并到scss编译文件中。SASS将把它编译成css@import规则,导致http请求在您的服务器上查找
somefile.css


您可以根据需要将
somefile.css
上传到正确路径下的服务器,或者只需将
somefile.css
重命名为
somefile.scss
并将导入更改为
@import“somefile.scss”
。与此类似,SASS将把
somefile.scss
合并到编译文件中。

@import使用文件名进行导入。默认情况下,它会查找要直接导入的Sass文件,但在某些情况下,它会编译为CSS@import规则
。你的主机上有404吗?我认为bootstrap.css没有在您的生产环境中发布。懒惰的解决方案是重构到
bootstrap.scss
,并将其合并到
应用程序中。css
@NicoO感谢您的回复。是的,我得到403错误。无论错误类型如何,文件bootstrap.css都不在AWS上
我认为bootstrap.css没有在您的生产环境中发布
是的,这是真的。由于扩展名
.css
,不确定为什么它没有被捆绑到我的
应用程序.css
中。您使用的是与sass函数不同的经典css。将bootstrap.css重命名为bootstrap.scss(在文件和导入中),它应该可以工作