繁体   English   中英

Ruby on Rails的每个方法都可以。

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM