我使用以下代码在类别页面的标题中随机化图像,但我真的不明白为什么这种方法不起作用。
它给了我这个错误Invalid CSS after "...ackground: url(": expected ")", was "<%= randomized_..."
在这一行
#necklace_header {
background: url(<%= randomized_header_image %>) no-repeat center center fixed;
width: 100%;
在我的观看/分类/ show.html.erb中我有这段代码
<header id="necklace_header">
<h1>
<%= @category.name %>
</h1>
</header>
<%= render "categories/table", products: @products %>
<% if current_user && current_user.admin? %>
<%= link_to 'Edit', edit_category_path(@category) %> |
<% end %>
<%= link_to 'Back', root_path %>
在我的categories.scss中我有这段代码
#necklace_header {
background: url(<%= randomized_header_image %>) no-repeat center center fixed;
width: 100%;
background-size: cover;
height: 360px;
margin-bottom: 20px;
}
在application_helper.rb中我得到了这段代码
module ApplicationHelper
def randomized_header_image
images = ["assets/foo.jpg", "assets/random.jpg", "assets/super_random"]
images[rand(images.size)]
end
end
因为我一般都是铁轨和网络编码的新手,所以我无法弄清楚这一点。如果有人能为我澄清这一点,我会很棒。
答案 0 :(得分:2)
作为OP confirmed,我的建议奏效了。我将把它转回给未来读者的答案。
你有.scss文件,所以ERB代码不起作用。但是尝试像asset-url('randomized_header_image')
一样写它,它应该有效。 asset-url
是SASS帮助者。