我的 haml 文件中的 css 路径有问题

something's wrong with the css path in my haml file

目录结构如下:

approot
` public
  ` css
    - main.css
` views
  - home.haml
  - index.haml
- main.rb

并且我尝试在 haml 文件中调用我的 css:

%link{:rel => "stylesheet", :href => url('css/main.css')},

%link(rel="stylesheet" href="css/main.css")

%link{:rel => "stylesheet", :href => "css/main.css"}

到目前为止没有任何效果。如果重要的话,我正在使用 sinatra。

您需要在 css 路径中添加斜杠:/css/main.css。如果您不这样做,路径将是相对的,如您发布的生成页面中所示:../public/css/main.css。由于这是浏览器对您的 sinatra 应用程序执行的调用,因此它需要是绝对路径。 Sinatra 根本不提供任何相对路径 - 这有点危险......默认情况下,sinatra 将 public 目录中的所有内容作为静态文件提供。