nol*_*oli 6 html routes escaping ruby-on-rails helpers
我正在尝试使用以下代码在我的页面上生成链接
%h2= link_to '{{ label }}', product_path('{{ id }}'.html_safe)
Run Code Online (Sandbox Code Playgroud)
这实际上是一个较大的HTML块的一部分,它将作为一个javascript模板,我稍后将解析使用Underscore.js以填充{{ id }}和{{ label }}占位符.所以我想让rails输出一些东西给我的HTML
/ products/{{id}}
然而,它一直在逃避空间和小礼物,并给予我
<a href="/products/%7B%7B%20id%20%7D%7D">{{ label }}</a>
Run Code Online (Sandbox Code Playgroud)
所以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 }}'))
Run Code Online (Sandbox Code Playgroud)
和
%h2=raw( link_to '{{ label }}', product_path('{{ id }}'.html_safe))
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用
编辑:
使用它的另一种方法是使用rails console,
include ActionController::UrlWriter
ruby-1.9.2-p0 :010 > product_path '{{ id }}'.html_safe
=> "/products/%7B%7B%20id%20%7D%7D"
Run Code Online (Sandbox Code Playgroud)
任何帮助表示感谢...谢谢
谢谢
怎么样CGI::unescape(product_path('{{ id }}')?(随之require 'cgi'而来的是.)
我相信这只是Ruby 1.9.2,但它似乎是你正在使用的版本.
| 归档时间: |
|
| 查看次数: |
1352 次 |
| 最近记录: |