2011-07-04 10 views
5

estoy tratando de utilizar el siguiente fragmento de código para generar un enlace en mi página¿Cómo puedo exportar html sin esculpir sin procesar desde esta ruta/ayudantes de Rails?

%h2= link_to '{{ label }}', product_path('{{ id }}'.html_safe) 

Esto es en realidad parte de un bloque HTML más grande que servirá como una plantilla Javascript, y más tarde voy a analizar usando Underscore.js para completar los marcadores de posición {{ id }} y {{ label }}. Así que me gustaría rieles para demostrar algo a mi HTML como

/productos/{{id}}

Sin embargo, se mantiene escapar de los espacios y brackeets, y me da

<a href="/products/%7B%7B%20id%20%7D%7D">{{ label }}</a> 

Así que la url_helper está escapando de mi cadena, aunque yo no quiero. ¿Cómo puedo obligarlo a no hacer esto?

He intentado

%h2= link_to '{{ label }}', product_path('{{ id }}'.html_safe) 
%h2= link_to '{{ label }}', product_path(raw '{{ id }}') 
%h2= link_to '{{ label }}', raw(product_path('{{ id }}')) 

y

%h2=raw(link_to '{{ label }}', product_path('{{ id }}'.html_safe)) 

Pero ninguno de ellos funciona

EDIT:

Otra manera de jugar con esta consola es de rieles,

include ActionController::UrlWriter 

ruby-1.9.2-p0 :010 > product_path '{{ id }}'.html_safe 
=> "/products/%7B%7B%20id%20%7D%7D" 

Cualquier ayuda apreciada ... gracias

Gracias

Respuesta

6

¿Qué hay de CGI::unescape(product_path('{{ id }}')? (con el require 'cgi' que lo acompaña)

Creo que esto es sólo Ruby 1.9.2 pero parece ser la versión que estás usando.

+1

beau gosse !! genial gracias – noli

Cuestiones relacionadas