2013-03-31 80 views
0

我试图使统一在我的ERB模板,如3.2.11渲染的Unicode:的Rails在ERB模板

我的种子:

Currency.create!(currency: 'USD', rate: 1.2805, title: 'U.S. Dollars', code: '\u0024', active: 1) 

控制器:

@currencies = [] 
Currency.where(:active => TRUE).each do |node| 
    c = node.rate * 25 
    c = number_to_currency(c, :precision => 2, :unit => node.code) 
    @currencies.push(:currency => node.currency, :price => c) 
end 

模板.erb:

<select> 
    <% @currencies.each do |node| %> 
     <option> 
      <%= node[:currency] %> - <%= node[:price] %> 
     </option> 
    <% end %> 
</select> 

I e xpect这样的:

<option>USD - $32.01</option> 

,但我得到的原始的unicode输出:

<option>USD - \u002432.01</option> 

我已经试过:

添加utf8编码元属性。将<%#encoding:utf-8%>添加到我的模板中。并在字符串上使用.html_safe。

回答

1

这是因为你在你的种子中使用单引号。它应该是双引号:

"\u0024" # => "$" 
'\u0024' # => "\\u0024"