每次显示页面时随机显示不同的背景

时间:2009-10-06 23:49:36

标签: jquery ruby-on-rails

我有5张图像,我想在不同的时间用作背景(随机选择一个作为身体标签的背景)。我该怎么做,可以在Rails控制器/方法中,还是通过ERB或通过JQuery完成?

2 个答案:

答案 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代码中设置包含图像名称的变量,以便模板可以读取它。