Acessando objeto de dentro do arquivo.js.erb

51 views
Skip to first unread message

Alberto Leal

unread,
Jan 5, 2009, 4:40:39 PM1/5/09
to rail...@googlegroups.com
Gostaria de acessar as propriedades de um objeto de dentro de um arquivo .js.erb(Utilizo o jquery ao invés do prototype).

Vi um exemplo, onde o objeto era acessado diretamente, mas se tratava de um arquivo .js.rjs(prototype) e não funcionou com o jquery (reference to undefined XML name @annotation).

Alguém já passou por isso? Alguma sugestão?

Abs,
Alberto

Bruno Azisaka Maciel

unread,
Jan 5, 2009, 4:47:02 PM1/5/09
to rail...@googlegroups.com
Você já tento usar variáveis c/ o @ no início? Por exemplo:

$('#div').html('<%= @post.title %>');

:)

Bruno.

Vinicius Luiz

unread,
Jan 6, 2009, 6:42:08 AM1/6/09
to rail...@googlegroups.com
primeiro voce precisa instalar o plugin jrails para que seu aplicativo use o jquery no lugar do prototype

http://ennerchi.com/projects/jrails

depois basta criar um arquivo js.erb com o nome do metodo que ira usa-lo ai o rails se incarrega de iniciar o processamento no rb e terminar no js...

2009/1/5 Bruno Azisaka Maciel <br...@dookie.com.br>

Ulisses Reina Montenegro de Albuquerque

unread,
Jan 6, 2009, 7:07:46 AM1/6/09
to rail...@googlegroups.com
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

Alberto Leal

unread,
Jan 6, 2009, 7:14:49 AM1/6/09
to rail...@googlegroups.com
Vinicius,eu já estava com o jrails instalado já...


Encontrei onde estava errando aqui,pessoal. Muito obrigado.

Abs

2009/1/6 Ulisses Reina Montenegro de Albuquerque <ulisses.m...@gmail.com>
Reply all
Reply to author
Forward
0 new messages