2011-06-03 14 views
19

Tengo una matriz de valores hash que consiste en mis datos de producto en @product_records. Soy capaz de extraer el nombre del producto utilizando la función de mapa de la siguiente manera:Escapar " en Rails y Javascript

<%= @product_records.map{|x|x["Name"]} %> 

que hace exactamente lo que yo quiero que la página de la siguiente manera:

["Product1","Product2",...,"Productn"] 

Quiero tratar de pasar esto en una variable de JavaScript para que pueda usarlo con la función de autocompletar de JQuery.

var data = <%= @product_records.map{|x|x["Name"]} %> 

Cuando trato y la ponga a pesar de las comillas dobles están escapando de esta manera:

[&quot;Product1&quot;, &quot;Product2&quot;,...,&quot;Productn&quot;] 

He intentado varias cosas para tratar de obtener las cotizaciones de vuelta (.to_json etc) pero nada parece trabajo. Probablemente haya una respuesta muy simple a esto, pero no puedo encontrar lo que es.

¡Saludos por cualquier ayuda.

Respuesta

49

Uso <%= raw your_variable %> :)

+0

aplausos. Sabía que sería simple (quizás no tan simple como 3 letras). Gracias por su ayuda :) – GrahamJRoy

+0

cruda es la cosa más útil que he leído en los últimos días de estar atrapado en esto. gracias @svilen – s2t2

+1

¡Maldición! Estuve una hora reemplazando la js var ... Hasta que comencé a pensar que tenía que ser una forma más fácil de hacer esto. ¡Muchas gracias! : D –

4

Cuando se utiliza esa variable en javascript asegurarse, usted tiene comilla simple para ejecutar código en javascript rieles.

'<%= raw @products.to_json %>' 

gracias

Cuestiones relacionadas