选择随机回形针附件

时间:2012-08-31 14:18:00

标签: ruby-on-rails ruby-on-rails-3

我有“foo”控制器,除此之外还有3个回形针附加图像。

foo.image1,foo.image2和foo.image3

在视图中呈现每次重新加载页面时刷新的随机附件的最佳方法是什么?

- EDIT ---

好的,这不是非常优雅的代码,但至少避免使用send并满足我的目的。

    @a = foo.image1(:thumb) 
    @b = foo.image2(:thumb)
    @c = foo.image3(:thumb)

    @rand = ([@a, @b, @c].sample)

1 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以执行以下操作:

@image = foo.send([:image1, :image2, :image3].sample)

这样做是随机选择(采样)与图像名称对应的符号,然后将该符号发送到foo以执行。结果存储在实例变量中,然后可以在视图中使用。

只要每次有人点击您的操作时都会执行此操作(例如,如果它处于show操作中),那么即使刷新,它也会随机选择新图像。