我有5张图像,我想在不同的时间用作背景(随机选择一个作为身体标签的背景)。我该怎么做,可以在Rails控制器/方法中,还是通过ERB或通过JQuery完成?
答案 0 :(得分:5)
这是获取随机条目的一个很好的小方法:
random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].shuffle.first
在Ruby 1.9中,它更容易:
random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].sample
我把它放在你的ERB模板中 - 它与html直接相关。
答案 1 :(得分:1)
不需要jQuery / Javascript来执行此操作。您可以在Controller方法或ERB模板中执行此操作。在任何一种情况下,您将拥有array个背景图像文件名,并且get a random number在适当的范围内,然后将背景图像文件名设置为名称位于随机选择的位置。如果您在Controller而不是模板中执行此操作,则需要在Controller代码中设置包含图像名称的变量,以便模板可以读取它。