Как я могу вывести неэкранированный HTML-код из этого маршрута / помощников Rails?

Я пытаюсь использовать следующий фрагмент кода для создания ссылки на моей странице

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

На самом деле это часть большого HTML-блока, который будет служить шаблоном javascript, и позже я буду анализировать, используя Underscore.js для заполнения заполнители {{id}} и {{label}} . Поэтому я хотел бы, чтобы рельсы выводили что-то в мой HTML-код, например

/ products / {{id}}

Однако он продолжает экранировать пробелы и скобки и дает мне

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

Таким образом, url_helper экранирует мою строку, хотя я не хочу этого. Как я могу заставить его этого не делать?

Я пробовал

%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 }}'))

и

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

, но ни один из них не работает

РЕДАКТИРОВАТЬ:

Другой способ поиграть с этим - с консоли rails,

include ActionController::UrlWriter

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

Любая помощь приветствуется ... спасибо

Спасибо

6
задан noli 4 July 2011 в 02:56
поделиться