[英]Ruby on Rails each do method.
我在显示页面上无法使用红宝石方法。 我有两个模型:事件和付款。 我试图显示对特定事件的所有付款。
我在事件模型的显示页面上使用了此方法,并且能够以这种数组格式显示付款($ 1000 $ 4000 $ 2000)
<strong>Payments Made: </strong>
<% @event.payments.each do |p| %>
$<%= p.Payment_amount.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse %>
<% end %>
我想要显示这样的付款:
付款1:$ 1000付款2:$ 4000付款3:$ 2000
感谢您的帮助。 提前致谢。
您可以尝试以下方法:
<strong>Payments Made: </strong>
<% @event.payments.each_with_index do |p, i| %>
Payment <%= i+1 %>: $<%= p.Payment_amount.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse %>
<% end %>
还有另一种与.each
相似的方法,除了它还包含每次迭代的索引值。 它称为each_with_index
。 您可以在您的方案中使用它,如下所示:
<% @event.payments.each_with_index do |payment, index| %>
Payment <%= index + 1%>: $<%= payment.Payment_amount.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse %>
<% end %>
请注意index + 1
,因为数组是从零开始的,因此第一次付款将是索引0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.