gpt4 book ai didi

ruby-on-rails - sass-rails Assets 管道 : generating image paths incorrectly; `url(/images/blah.png)` instead of `url(/assets/blah.png)`

转载 作者:行者123 更新时间:2023-12-03 14:05:02 27 4
gpt4 key购买 nike

section 2.2.2, "CSS and Sass" , 我被告知输入 image-url('delete.png')在我的萨斯。所以我有。

但是,它正在生成 CSS

background-image: url(/images/delete.png)

而不是我在任何地方都被告知它应该生成的东西,正确而明显的东西,
background-image: url(/assets/delete.png)

什么。见鬼。

我花了几天的时间试图弄清楚这是从哪里来的。

这里是 a gist of relevant settings导致这种行为。这里是 a gist of the same files in an earlier version of our code base (就在我们实现 Assets 管道之后,它实际上工作了大约一周,然后才出现这种令人沮丧的行为)。你能发现差异吗?您能想到的任何其他文件可能会导致这种情况吗?

笔记
  • 我们故意使用旧版本的 sass-rails因为更新的版本导致 Stack level too deep!预编译时出错。
  • 我们正在使用 compass 。


  • 变通办法的两次骇人听闻的尝试

    因为实际上对 Assets 管道进行故障排除有点糟糕。

    1:将图片放入/images

    我试图将所有图像移动到 public/images并将其添加为加载路径。这在开发中有效(图像可在 /assets/images 访问),但生产的预编译会将指纹图像放入 /assets只有(obvs),所以当 sass-rails 放入 url(/imagse/delete-120398471029384102364.png) ,找不到。

    2:使/public/images 成为/public/assets 的符号链接(symbolic link)

    这可能在生产中有效,但在开发中/assets 文件夹不存在,所以 url(/images/delete.png)指令导致未找到的图像。

    最佳答案

    如果您还没有此文件,请将您的 css 文件命名为 *.css.scss (相对于 .sass - 如果你这样做,你可能需要调整一些语句的语法)。然后使用 image_path助手而不是 image-path ,例如:

    background-image:url(image_path('delete.png'));

    我希望这可以解决您的问题。如果没有,这种方法为您生成的 Assets 路径是什么?

    关于ruby-on-rails - sass-rails Assets 管道 : generating image paths incorrectly; `url(/images/blah.png)` instead of `url(/assets/blah.png)` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11040366/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com