A cada nova versão do Rails o método render tem se tornado mais esperto, e no Rails 2.3 isto não será diferente.
Até hoje se nenhuma opção fosse informada ao método ele usaria a opção :file como padrão. Isto mudou já que agora a opção padrão, para quando nenhuma outra for informada, será renderizar uma partial. Além disso, por convenção, o último parâmetro informado ao método sempre será o hash de variáveis locais (local_assigns).
Isto muda um pouco a forma de usar partials. Vejamos alguns exemplos comparando a sintaxe antiga com a nova sintaxe. Primeiro um exemplo simples:
# Antes
render :partial => "account"
# Rails 2.3 em diante
render "account"
Agora um exemplo informando uma variável local:
# Antes
render :partial => "account", :locals => {:account => @buyer }
# Rails 2.3 em diante
render "account", :account => @buyer
No exemplo abaixo a variável @account é uma instancia da classe Account, desta forma o Rails usa o RecordIdentifier para fazer a mágica:
# Antes
render :partial => "accounts/account", :locals => {:account => @account }
# Rails 2.3 em diante
render(@account)
Um último exemplo, onde a variável @posts é um array com instâncias da classe Post. Mais mágica:
# Antes
render :partial => "posts/post", :collection => @posts
# Rails 2.3 em diante
render(@posts)
Caso você esteja migrando seu projeto para o Rails 2.3, tome o cuidado de verificar se não está usando o método render com a opção padrão em algum lugar do seu projeto. Se estiver, será necessário alterar para especificar a opção :file, assim:
render :file => 'greeting'
Como você pode ver, tivemos uma boa diminuição na quantidade de código necessário ao usar partials.
Todos os exemplos dados aqui funcionarão somente no Ruby on Rails 2.3/3.0 ou superior. Você pode encontrar mais detalhes sobre esta e outras novidades acompanhando a série Edge Rails.