stylesheet_link_tag没有在sinatra app中找到css文件

时间:2013-11-26 08:44:31

标签: ruby sinatra

我正在自己的机器上部署一个简单的Sinatra应用程序,我正在尝试使用这一行来引用我的样式表:

    <%= stylesheet_link_tag './stylesheet.css' %>

我的stylesheet.css位于我的应用的根目录中,但它不适用于我的应用的任何页面。我正在使用霰弹枪来运行服务器。我做错了什么?

2 个答案:

答案 0 :(得分:0)

我认为.很可能会让浏览器感到困惑。我也在我的一个应用程序中使用Sinatra,但是当我使用Erector作为视图引擎时,我必须猜测一下erb-template中的根本原因。不过,我可以告诉你,在引用我的资产时,我使用“绝对”路径“隐含地”将相对于服务器上的应用程序根路径。

请注意,浏览器最终会根据您网站的地址和您提供的链接生成“绝对”网址。我不确定您的.会在手边的网络服务器中引入多少混淆,请尝试将其删除。它也可能会尝试引用您的“当前”网址,但在这种情况下,它至少应该在您的主页上工作。

如果您不仅发布erb-template,而且还会生成HTML代码,那么帮助您也会更容易。最有可能它会告诉你这个问题。尝试将生成的URL粘贴到您的浏览器地址栏中,看看您是否可以直接获取CSS。

答案 1 :(得分:0)

我明白了。我必须将stylesheet.css文件放在应用程序根目录的/public目录中并修复它。