Carlos Brando

Nome do Jogo

Edge Rails: Método find_all falhando no named_scope

Quando você executa o método find_all em um named_scope o método não está sendo direcionado para o proxy_found conforme o esperado. Isto faz com que um erro NoMethodError seja retornado.

Topic.base.find_all(&:approved)
# => NoMethodError: undefined method `find_all' for #<Class:0x19a0fb4>

Este problema pode ser contornado usando o método to_a:

Topic.base.to_a.find_all(&:approved)
# => [#<Reply:0x179e720>#<Topic:0x179e388>#<Reply:0x179e20c>]

Após o lançamento do Rails 2.2 não teremos mais este erro.

Comments