【发布时间】:2009-10-06 23:49:35
【问题描述】:
我有 5 张图片想在不同时间用作背景(需要随机选择一张作为 body 标签的背景)。我该怎么做,这可以在 Rails 控制器/方法中或通过 ERB 或通过 JQuery 完成吗?
【问题讨论】:
标签: jquery ruby-on-rails
我有 5 张图片想在不同时间用作背景(需要随机选择一张作为 body 标签的背景)。我该怎么做,这可以在 Rails 控制器/方法中或通过 ERB 或通过 JQuery 完成吗?
【问题讨论】:
标签: jquery ruby-on-rails
这是一个获取随机条目的好方法:
random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].shuffle.first
在 Ruby 1.9 中,这更容易:
random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].sample
我会把它放在你的 ERB 模板中 - 它与 html 直接相关。
【讨论】:
没有必要使用 jQuery/Javascript 来执行此操作。您可以在 Controller 方法或 ERB 模板中执行此操作。在任何一种情况下,您都将拥有背景图像文件名的array,并且您将get a random number 在适当的范围内,然后将背景图像文件名设置为名称位于随机选择位置的图像。如果您在 Controller 而不是模板中执行此操作,则需要在 Controller 代码中设置一个包含图像名称的变量,以便模板可以读取它。
【讨论】: