O renderizador de RJS (que é utilizado quando você salva seu view com a
extensão .rjs) funciona com código Ruby sem a necessidade de blocos. Por
exemplo, você podia fazer coisas como:
page.replace_html 'element_x', format_content(@data.attribute_y)
Já os arquivos ERB exigem a utilização de blocos, no mesmo formato
utilizado nos views HTML. Ou seja, o exemplo acima ficaria:
$('#element_x').html('<%= format_content(@data.attribute_y) %>');
Como o renderizador RJS é voltado para geração de código Javascript com
Prototype/Scriptaculous, realmente faz mais sentido utilizar ERB. Se
você deseja utilizar RJS, é recomendável a instalação do plugin
JRails[1], que faz override em todos os helpers[2] de geração de
Javascript do Rails para substituir o Prototype/Scriptaculous pelo
jQuery. Ainda assim, para código jQuery que faz uso de funcionalidades
que não são tratadas pelos helpers padrão do Rails, você irá precisar
produzir Javascript na mão, e minha experiência com isso sempre foi
melhor com ERB do que RJS.
Ulisses
[1]
http://ennerchi.com/projects/jrails
[2]
http://api.rubyonrails.com/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html