我在public/company/
下放置了一个带有CSS文件css/style.css
的HTML文件中有以下内容:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link href="css/style.css" rel="stylesheet" type="text/css" media="all"/>
</head>
<body>
<div class="title">Name {name}</div>
</body>
</html>
我想使用动作中的CSS样式表呈现此HTML文件,并替换{name}
而不更改物理文件内容和位置。我可以渲染HTML文件,但找不到CSS文件。任何人都可以帮我用CSS文件渲染HTML文件并替换{name}
?
答案 0 :(得分:1)
css/style.css
致电时, company/file.html
会尝试加载company/css/style.css
。
答案 1 :(得分:0)
如果您的CSS文件位于/public/company/css/style.css
,那么您的静态HTML文件应将其与绝对路径链接。在资源路径中使用前导/
表示绝对路径:
<link href="/company/css/style.css" rel="stylesheet" type="text/css" media="all"/>
请注意,Rails路由器可能会捕获此请求并引发异常。根据Web服务器的不同,您可能需要启用静态资产或直接提供服务,完全绕过Rails。
更改静态HTML文件服务器端的内容而不实际修改它(即添加ERb)并不简单。你可以:
听起来像这些vanilla HTML / CSS文件是第三方(设计师?客户端?),你想把它放在/public
中并让它自动与Rails一起工作。那会很好,但并不容易。你最好使用Rails的内置模板系统,但这意味着修改文件并将它们移动到预期的位置。
答案 2 :(得分:0)
Click here以一种方式查看文章。希望它会有所帮助!
但是,我不确定你为什么要在Rails具备所有功能的情况下进行渲染。