2013-10-13 161 views
1

我想在我的视图中打印一个字符串,这个大括号具有像这样的大括号:{{ }},而且它没有通过。有没有一种方法可以逃避/跳过大括号解析Rails?我想要打印的字符串是这样的:Escape 2大括号/ Angular JS大括号

@my_string = 'Hello {{name}}' 

在我看来,我打印的字符串是这样的:

<%= f.text_area raw(@my_string) %> # Prints - "Hello" 

我试了一下没有raw。它也不起作用。我尝试用&#123;&#125;替换字符{},并且我还尝试将它们替换为\{\}。该字符串来通过这样的:

"Hello \{\{name\}\}" 

我希望字符串是:

Hello {{name}} 

任何想法?

编辑:这是来自Stefan的回答后的编辑。我不必逃避Rails中的角色。这个问题是由于Angular JS造成的。我采用了棱角分明的JS,我不得不提供NG-非绑定类为它不能取代{{ }}

+0

'<(%)=原始(@my_string)%>'? – hwnd

+0

@ muistooshort - 是的,这是一个错字。对于那个很抱歉! –

回答

3

大括号在浏览器中被AngularJS等JavaScript框架所取代。你必须告诉框架不要取代它们。

在AngularJS你可以使用ng-non-bindable指令:

<%= f.text_area @my_string, class: "ng-non-bindable" %> 
+0

你刚刚钉上它! :) –

0

试用sumthing这样

<%= f.text_area "#{@my_string}" %> 

看看它是否工作

-2

这将绕过角

{{ "{{ text }\}" }} # Prints - "{{ text }}"