2011-05-14 9 views
5

Tengo un archivo "index.html.erb" con la siguiente:Pasando variable de instancia a js.erb de archivo (Carriles 3/jQuery)

<% = render @users%>

Esto hace "_user.html.erb" y emite un botón para realizar una acción determinada en cada usuario:

<% = link_to "acción", action_path (usuario),: id => #"{ user.id} _action ",: remote => true)%>

He configurado mi controlador de usuario para responder a la solicitud AJAX mirando "action.js.erb".

Para realizar métodos javascript en usuarios particulares dentro del parcial, y me gustaría saber cómo las variables de instancia de mi parcial (como user.id) se pueden pasar o acceder dentro del archivo js.erb, por ejemplo:

$("#{@user.id}_action").toggle(); 

Respuesta

11

Se accede a la información en sus *.js.erb -limas al igual que en sus *.html.erb -limas, utilizando @users u otras variables de instancia declaradas en el controlador:

$("#<%= @user.id %>_action").toggle(); 
+0

ver edición. declarar @ user.id dentro de js.erb como tal no está siendo reconocido. – neon

+0

Actualicé con un ejemplo. ¡Espero que ayude! – Magnar

+0

impresionante. funciona con una edición menor para declarar el ID CSS con el prefijo "#". (Por favor, haga la edición en su respuesta, no me dejará hacerlo). ¡Gracias! – neon

Cuestiones relacionadas