Blog do TaQ

Coisas aleatórias acontecendo no Rails 2.x

Publicado em Developer

Não, não tem nada errado no Rails 2.x não, mas se vocês usavam código do tipo:

>> Produto.find(:all).instance_eval{ self[rand()*self.size] }
=> #<Produto id: 7, nome: "Caneta", valor: 3.10>

para selecionar um elemento aleatório do resultado, agora é só fazer isso:

>> Produto.find(:all).rand
=> #<Produto id: 2, nome: "Lapiseira", valor: 10.50>

O pequeno detalhe é que o primeiro código vai dar pau pois ele vai retornar, no exemplo, um objeto do tipo Produto, que não tem um método *. Foi o que aconteceu em um projeto aqui. :-)


Tags:


Comentários

comments powered by Disqus

Twitter