如何使用 Slim 模板引擎 link 一个 css 文件?

How to link a css file with the Slim templating engine?

我正在做一个 Sinatra/Slim 小项目,我想包含一个 css 文件。除此以外一切正常。

这是我的项目"tree":

├── essai.rb
    └── views
        ├── form.slim
        └── style.css

这是form.slim的头像:

html

head

    title Vote
    link href="style.css" rel='stylesheet' type='text/css'

我试过 "views/style.css""../style.css"、...等等。但是 Rake 记录了错误 "GET /style.css HTTP/1.1" 404。我知道我在 sinatra 中没有通往 css 的路线,但我想有一个技巧可以避免这种情况...我希望 :D

我试过,就像我在 slim 示例页面上看到的那样:file_path("style.css") 但是,我有一个 undefined method 'file_path' 错误,我猜是因为它的一个 ruby 函数在 args 中传递苗条的例子。

有人能告诉我该怎么做吗?谢谢!

Sinatra 希望您的 css 文件驻留在 public 目录中,默认情况下不在 views 目录中。

所以你的项目树应该看起来更像这样。

/essai.rb
/views
      /form.slim
/public
      /css
          /style.css

那么您应该可以使用现有的 slim 模板访问它。

如已接受的答案中所述。但是,他的回答对于那些刚接触 Sinatra 的人来说是不完整的。是的,您必须将 CSS 文件放入 public/css/

你脑子里的代码应该是

link rel="stylesheet" href="css/app.css" type="text/css"

Sinatra 的新手请注意,您的 CSS 文件名可以是任何名称,例如 styles.css、app.css、main.css 或其他名称。

这里是我自己项目的截图