在.html.erb文件中获取错误的输出

时间:2013-10-01 18:18:59

标签: html file gem erb

我正在使用' active_shipping'宝石。当我使用带有以下行的.rb文件时

  puts res.rates.sort_by(&:price).collect 
  {|rate| [rate.service_name,
  (@bank.get_rate(res.rate_estimates[0].currency,:USD)
   *    (rate.price).to_f/100).round(2)]}, 

我得到以下输出:

enter image description here

然而,当我在.html.erb文件中使用相同的行时

<%= res.rates.sort_by(&:price).collect 
{|rate| [rate.service_name, 
(@bank.get_rate(res.rate_estimates[0].currency,:USD)
* (rate.price).to_f/100).round(2)]}%>, 

我在视图中得到以下输出:

enter image description here

有人可以帮我解决这个问题。如何在.html.erb文件中正确显示文本。谢谢。

2 个答案:

答案 0 :(得分:1)

感谢Kathryn,我确实将代码更改为:

<p><%res.rates.sort_by(&:price).each do |rate|%>
 <%=  rate.service_name%>,
 <%=(@bank.get_rate(res.rate_estimates[0].currency,:USD)
  *  (rate.price).to_f/100).round(2)%> </p><br/>
 <%end%>

我得到了所需的输出:

enter image description here

答案 1 :(得分:0)

我认为Ruby对象没有显示在erb中,因为你没有足够的分隔符。试试这个:

<% res.rates.sort_by(&:price).collect %> 
<%= {|rate| [rate.service_name, 
  (@bank.get_rate(res.rate_estimates[0].currency,:USD)
  * (rate.price).to_f/100).round(2)]} %>