Я использую драгоценный камень "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. Спасибо.
Благодаря 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%>
Я получил желаемый результат:
Я думаю, что объекты 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)]} %>