Carlos Brando

Nome do Jogo

Edge Rails: Partials não vão mais definir as variáveis locais implicitamente

No exemplo abaixo estou renderizando uma partial, e não estou informando qual variável ela deve usar para preencher o conteúdo. Hoje o Rails encara que como tenho uma variável de instância com o mesmo nome, implicitamente é esta que deve ser usada.

@customer = Customer.new("Carlos Brando")
render :partial => "customer"

Isto funciona mas é um pouco arriscado. A partir do Rails 2.2, esta funcionalidade continua funcionando mas sempre emitindo uma aviso de que será por pouco tempo:

@customer will no longer be implicitly assigned to customer

Sim, este recurso será removido do Rails no futuro.


Este artigo pertence a série “Edge Rails”. Todos os exemplos dados aqui funcionarão somente no Ruby on Rails 2.2 ou superior. A intenção desta série é preparar antecipadamente os programadores para as próximas versões do framework.

Comments