css - 来自 CSS 的 Rails 4 Assets 或图像路径

标签 css ruby-on-rails-4 sass asset-pipeline

我的文件结构是这样的

app
  assets
    bookshelf
      assets
        my_image.jpg
    images
      standard_image.png

在我的 css.scss 文件中,这两个都在开发中工作,但在生产中不起作用。

#some_div {
  background: url("standard_image.png")
}


#some_div {
  background: url("assets/my_image.jpg")
}

我已经完成了 RAILS_ENV=production rake assets:clean assets:precompile。我已经删除了我的 tmp/cache

我觉得这可能是配置问题。我错过了什么?

我知道图片在服务器上。我得到了摘要文件名并将其放入具有生产根地址的 url 中。


当我尝试使用

      background: asset-url("assets/my_image.jpg", image)

我明白了

Sprockets::Rails::Helper::AssetFilteredError at /books

Asset filtered out and will not be served: add Rails.application.config.assets.precompile += %w( assets/bookshelf_skin02_top_bg.jpg ) to config/initializers/assets.rb and restart your server

显然,我不想在配置中添加每个 Assets 文件。

最佳答案

我创建了 /config/initializers/asset.rb 并将相关的文件扩展名放在正则表达式中。

我相信这是可行的,因为这会告诉 Assets 管道在 lib 或 vendor 中预编译所有这些文件类型,这在 rails 4 中不会自动完成。

# Images
Rails.application.config.assets.precompile << /\.(?:png|jpg|jpeg|gif)\z/

# Fonts
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/

关于css - 来自 CSS 的 Rails 4 Assets 或图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696302/

相关文章:

javascript - JQuery - 多个显示/隐藏带有外部链接的 div

javascript - 滚动时改变颜色

html - 拉伸(stretch) table 以垂直适合 TD

ruby-on-rails - 使用http协议(protocol)而不是TCP启动rails服务器

css - 使用全局styles.scss控制:host of every Angular component

jquery - 修复在 Bootstrap 选项卡上无法正常工作的问题

javascript - jquery 添加跨度整数值不起作用

javascript - #<Task :0x007f91f6442390> 的未定义方法 `upcase'

ruby - Listen Gem 与 FSSM gem - 哪个更好?

html - 我可以让父元素的样式用 Sass 覆盖子元素的样式吗?