2014-10-30 125 views
2

我在顯示頁面時遇到了ruby方法的困難。我有兩種模式:事件和付款。我正在嘗試顯示對特定活動進行的所有付款。Ruby on Rails各自做的方法。

我用這個方法我的節目頁面上我的事件模型,我能夠證明在這樣的陣列形式支付($ $ 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:$ 2,000

我欣賞的幫助。提前致謝。

+0

是否'Payment_amount'的方法? – 2014-10-30 19:19:03

+0

是的,它看起來像'Payment_amount'是一個列,可作爲一種方法。 – Surya 2014-10-30 19:19:59

回答

1

有類似於.each另一種方法,但它也包括在每次迭代的索引值。它被稱爲。您可以在場景中使用它像這樣:

<% @event.payments.each_with_index do |payment, index| %> 
    Payment <%= index + 1%>: $<%= payment.Payment_amount.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse %> 
<% end %> 

index + 1,因爲數組從零開始,因此,首付款將是指數0

+0

謝謝! each_with_index工作得很好! – Liliana 2014-10-30 19:36:13

+0

@Liliana真棒,很高興你有它的工作。不要忘記接受一個答案,無論哪一個最能回答問題(答案左邊的綠色複選標記)。 – 2014-10-30 20:00:15

2

你可以試試這個:

<strong>Payments Made: </strong> 
<% @event.payments.each_with_index do |p, i| %> 
    Payment <%= i+1 %>: $<%= p.Payment_amount.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse %> 
<% end %> 
+0

這工作完美!非常感謝!! – Liliana 2014-10-30 19:35:36