2014-03-19 2 views
0

위해 나는이 여기에 내가 어떤 문제가 없습니다 개까지예기치 않은 토큰 및 '

"[1, '$',''], [2, '','pts'], [3, '£',''], [4, '€',''], [5, 'Rs. ',''], [6, 'CHF ',''], [7, 'C$','']" 

로 결과를 줄 것이다

def currency_symbol_list 
    result = [] 

    Currency.active.each do |currency| 
     pre = currency.prefix? ? currency.symbol : "" 
     post = currency.prefix? ? "" : currency.symbol 

     result << "[#{currency.id}, '#{pre}','#{post}']" 
    end 

    result.join(', ') 
    end 

로 currency_symbol_list을 정의 할 수 있습니다. 나는 내 소원에 따라 값을 받고 있지만 자바 스크립트

<script type="text/javascript"> 
    var currency_list = [<%= currency_symbol_list %>]; 
    var accounts_to_currency_list = [<%= accounts_to_currency_symbol_list(@child.pending_accounts) %>]; 
</script> 

와 currency_symbol_list 방법을 부를 때 나는 Uncaught SyntaxError: Unexpected token & 오류를 얻고있다. 그리고 다른 데이터가 표시됩니다

<script type="text/javascript"> 
    var currency_list = [[1, &#39;$&#39;,&#39;&#39;], [2, &#39;&#39;,&#39;pts&#39;], [3, &#39;&amp;pound;&#39;,&#39;&#39;], [4, &#39;&amp;euro;&#39;,&#39;&#39;], [5, &#39;Rs. &#39;,&#39;&#39;], [6, &#39;CHF &#39;,&#39;&#39;], [7, &#39;C$&#39;,&#39;&#39;]]; 
    var accounts_to_currency_list = [[25061, &#39;$&#39;,&#39;&#39;, 1], [25062, &#39;&#39;,&#39;pts&#39;, 2]]; 
</script> 

사전 변수 및 사후 변수 전 &#39;이 추가되었습니다. 내가 Uncaught SyntaxError: Unexpected token & 오류로 인해. 그것을 고치는 방법? 이 특수 문자를 HTML을 탈출하기 때문에 '<퍼센트 = ... %>'를 사용하는 경우

답변

1

&#39 또는 &amp;는 레일에 의해 추가됩니다. 당신은 raw 또는 html_safe로이 동작을 비활성화 할 수 있습니다 http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/

:

var currency_list = [<%= raw currency_symbol_list %>]; 
var accounts_to_currency_list = [<%= raw accounts_to_currency_symbol_list(@child.pending_accounts) %>]; 

당신은 여기에 대한 자세한 설명을 할 수 있습니다