【问题标题】:rails environments issue with assets compiled and uncompiled编译和未编译资产的rails环境问题
【发布时间】:2012-12-29 22:19:14
【问题描述】:

我希望这非常简单,因为它非常基础。 使用资产管道 在子子文件夹中有一个 CSS, 例子

vendor->stylsheets->foo->bar->style.css

在这个style.css中我得到了以下

背景图片:url("../../Template/img/k.png")

这在资产和资源未编译(开发)时有效

但不是在生产中.. 在生产中 ../ 需要删除。

如何让它在任何情况下都能正常工作?

【问题讨论】:

  • @jibiel 是对的:要让它与资产管道一起工作,它都需要在app/assets 下移动。如果您想将供应商资产分开,请将它们全部放在 app/assets/vendor 下,然后在 application.rb 中添加搜索路径的路径:config.assets.paths << Rails.root.join("app", "assets", "vendor")

标签: ruby-on-rails-3 sprockets


【解决方案1】:

最终我将 css 文件移动到了我的 assets/styleshit 的根文件夹中,并且成功了。

【讨论】:

    【解决方案2】:

    尝试将您的图像移动到app/assets/images 目录并将您的行替换为以下内容:

    background-image: image-url('k.png')
    

    或者如果你想保持你的文件夹层次结构,假设你的图片在app/assets/images/Template/img/

    background-image: image-url('Template/img/k.png')
    

    More 关于-url-path 提供的sass-rails 助手。

    【讨论】:

    • 问题在于css文件...不是图像目录
    • 好的。您可以将层次结构保留在 app/assets/images 目录中。只需将其指定给image-url 助手即可。 image-url('Template/img/k.png') 喜欢这样。
    • 您的解决方案不起作用,导致css无法解析为saas,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多