2016-08-04 19 views
0

我使用下面的代碼來隨機化圖像的類別頁面上的標題,但我真的不明白爲什麼這種方法不工作。隨機標題圖像軌道上的紅寶石

它給了我這個錯誤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 

因爲I'm幾乎新手到Rails和網絡編碼一般我一直沒能想出解決辦法。如果有人能爲我澄清這一點,我會很棒。

+1

好的你有'.scss',所以ERB代碼將不起作用。但試着像'asset-url('randomized_header_image')'那樣對它進行調整。它會工作。 'asset-url'是SASS helper。 –

+0

非常感謝,它現在完美運行 – DaudiHell

+1

我將它添加爲答案。感謝您的確認 –

回答

2

至於OP confirmed我的建議奏效。我將回過頭來爲未來的讀者回答。

您有.scss文件,因此ERB代碼不起作用。但嘗試寫它像asset-url('randomized_header_image')它應該工作。 asset-url是SASS幫手。