2016-01-10 57 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

我会,但这项任务将我们限制在某些语言。这超出了他们的要求,只是我有兴趣试图弄清楚。 –