0

我正在使用“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)]}, 

我得到以下输出:

在此处输入图像描述

但是,当我在 .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)]}%>, 

在我看来,我得到以下输出:

在此处输入图像描述

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

4

2 回答 2

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%>

我得到了想要的输出:

在此处输入图像描述

于 2013-10-01T19:40:19.190 回答
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)]} %> 
于 2013-10-01T18:36:45.747 回答