繁体   English   中英

样式表不适用于sinatra erb视图

[英]Stylesheet not applying to sinatra erb views

我的样式表适用于我的应用程序的某些元素而不是其他元素,我不知道为什么。

这是我的文档结构:

文件结构

目前,样式表正在应用于index.erb和contacts.erb,而不是树中的其他样式表,我不知道为什么。

在我的布局中,我指定了: <link rel="stylesheet" type="text/css" href="style.css">

有任何想法吗?

您正在使用样式表的相对引用,因此浏览器将相对于当前URL请求它。 这意味着对于//contacts浏览器将请求/styles.css并找到它,但是例如/contacts/1它将请求/contacts/style.css不存在。 如果你检查你的日志,你可能会看到404负载发生这种情况。

解决方案是使用样式表的绝对路径。 假设您的应用程序已安装在服务器的根目录(即请求例如http://example.com/contacts/1 ),您可以通过在href的开头添加/来完成此操作:

<link rel="stylesheet" type="text/css" href="/style.css">

一个更强大的解决方案是使用url helper ,这将确保即使你的app安装在另一个点(例如在Rails应用程序中)或者在代理后面,也会使用正确的url:

<link rel="stylesheet" type="text/css" href="<%= url("/style.css")%>">
<link rel="stylesheet" type="text/css" href="/style.css">

公共文件夹始终用于存储css,js文件,一旦进入生产环境,它将存储在浏览器的缓存中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM