我正在尝试从我的资产管道ni rails 4中获取图像和CSS样式。我有一个index.html.erb和一个show.html.erb。我在每个代码中都有完全相同的代码,但它在index.html文件中有效,但在show.html文件中却无效。
代码:
<!-- 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中工作,但在节目中没有.html.erb。可能是什么原因?
注意,我也尝试过:
<link rel="stylesheet" href="stylesheets/styles-bluegreen.css" id="theme-styles">
和
<link rel="stylesheet" href="assets/stylesheets/styles-bluegreen.css" id="theme-styles">
这是我的资产管道:
答案 0 :(得分:1)
如果您复制粘贴代码段,则没有理由让它们的行为不同,除非您的某个视图(索引或显示)被缓存,而是直接将其提供给客户端而不是呈现。你能检查一下是否是这种情况吗?
顺便说一下,您确实应该使用stylesheet_link_tag
,因为资源链接可能会因development
到production
个环境而异。该助手将这些链接相应地呈现给环境。
答案 1 :(得分:0)
不是src="<%= asset_path('my-logo.png')%>"
然后是图片DataTable.NewRow()
此外,您必须将.erb添加到show.html文件名的末尾(所以show.html.erb)
这通常适合我。