2016-01-10 96 views
1

我覺得我在這裏非常接近試圖從我的資產路徑中選擇一個隨機圖像,並將其設置爲背景。Rails和JQuery從數組中選擇一個隨機項目

birds = ['birdonbranch.jpeg', 'birdsfighting.jpg', 'cranes.jpg', 'rainbowbird.jpeg', 'whitebird.jpeg']; 
birdSample = birds.sample 
$("html").css({"background-image":"url(" + "<%= asset_path(" + birdSample + ") %>" + ")"}); 

回答

0

如果這是一個.js.erb文件,Ruby代碼應該被包裹在<% %>

<% 
    birds = ['birdonbranch.jpeg', 'birdsfighting.jpg', 'cranes.jpg', 'rainbowbird.jpeg', 'whitebird.jpeg']; 
    birdSample = birds.sample 
%> 

$("html").css({ 
    "background-image": url("<%= asset_path(birdSample) %>") 
}); 
+0

我有這種工作與您發佈的內容。它給了我在url(「NaN」)瀏覽器中的價值。我不敢相信我忘了包裝我的紅寶石代碼哈哈。 –

+0

我沒有測試代碼,但也許你錯過了'/ images'路徑,因爲'asset_path'返回到'assets'文件夾的路徑,而不是直接到'assets/images'。 – juliobetta

1

總結前兩行<%...%>

但是,你可能會考慮http://reactrb.org它允許你在直Ruby的開發。不那麼容易混淆恕我直言

+0

我會,但這項任務將我們限制在某些語言。這超出了他們的要求,只是我有興趣試圖弄清楚。 –