You are still getting all the indentation from the iterations that are
skipped (i.e., where the currency is not USD).
<% for currency in @rates -%>
<% next unless currency == 'USD' -%>
<%= currency %> ............... <%= currency %>
<% end -%>
I'm not sure you need the minus sign on an emitting tag (<%=) to
suppress the linefeed.
Does this help?