我正在使用' 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文件中正确显示文本。谢谢。
答案 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%>
我得到了所需的输出:
答案 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)]} %>