首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Rails)资产管道中的资产显示在index.html.erb文件中,但不显示在show.html.erb中

(Rails)资产管道中的资产显示在index.html.erb文件中,但不显示在show.html.erb中
EN

Stack Overflow用户
提问于 2015-12-17 09:18:44
回答 2查看 56关注 0票数 0

我正在尝试从我的资源管道ni rails 4获取图像和CSS样式。我有一个index.html.erb和一个show.html.erb。我在每个文件中都有完全相同的代码,但它在index.html文件中有效,但在show.html文件中不起作用。

代码:

代码语言:javascript
复制
 <!-- Styles -->
<link rel="stylesheet" href="assets/styles-bluegreen.css" id="theme-styles">

 <a href="index.html" id="logo">
     <img src="assets/my-logo.png" alt="My Blog">
 </a>

我有完全相同的代码,因为我复制并粘贴了(是的,我知道这违反了rails dry策略)。我最初将它放在_header.html.erb部分文件中,代码在部分文件中也不起作用,所以我将确切的代码放在每个文件中,它在index.thml.erb中有效,但在show.html.erb中不起作用。可能的原因是什么?

注意,我也尝试过:

代码语言:javascript
复制
<link rel="stylesheet" href="stylesheets/styles-bluegreen.css" id="theme-styles">

代码语言:javascript
复制
<link rel="stylesheet" href="assets/stylesheets/styles-bluegreen.css" id="theme-styles">

以下是我的资产管道:

EN

回答 2

Stack Overflow用户

发布于 2015-12-17 09:38:20

如果您复制-粘贴代码片段,它们的行为没有理由不同,除非您的一个视图(索引或显示)被缓存,并且它被直接提供给客户端,而不是被呈现。你能确认一下是不是这样吗?

顺便说一句,您确实应该使用stylesheet_link_tag,因为在不同的developmentproduction环境中,指向资产的链接可能会有所不同。这个帮助器根据环境呈现这些链接。

票数 1
EN

Stack Overflow用户

发布于 2015-12-17 10:16:54

不是href="<%= asset_path('styles-bluegreen.css')%>"吗?

然后对于图片src="<%= asset_path('my-logo.png')%>"

此外,您还必须在show.html文件名的末尾添加.erb (因此为show.html.erb)

这对我来说通常很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34325104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档