2013-10-29 34 views
-3

我正在使用將訪問數組的值的循環。我使用with_index來正確顯示結果,但是,數組從0開始,但是我的DB值從1開始。因此,當數組迭代併到達索引#6(數組中的位置7)時,它停止因此,不顯示存儲在第七字段的值。我可能是錯的,但那是我認爲正在發生的事情。數組與each_by_index

我讀過,有可能傳遞參數到each_with_index方法,以防開始值應該不是0,但我找不到如何去做。

我對於使用數組相對比較陌生,而且對於整個Ruby來說相對較新。

編輯

<% @by_ticket.each_with_index do |ticketshead, id| %> 
<% @tickets[id].id %> 
<% end %> 

的@by_ticket是在控制器GROUP_BY聲明。當我通過它循環時,它會帶回所有符合參數的最後一條記錄。我的問題是如何從1開始循環,而不是0.我將檢查由Hitham S. AlQadheeb提供的鏈接。

編輯以更正代碼行中的錯字2.謝謝。

+4

,請複製粘貼一些示例代碼,實際問題不明確.. –

+0

你能不能提煉究竟你想?如果你使用db –

+0

「你寫的代碼的問題必須描述特定的問題 - 包括有效的代碼來重現它 - 在問題本身中,你可能根本不需要使用這種方法。請參見http: //SSCCE.org獲得指導。「 –

回答

0

我覺得只是在增加類似下面的塊索引最簡單的辦法:

['a', 'b', 'c'].each_with_index { |item, index| puts "#{item} #{index + 1}" } 
+0

對不起,在更新之前貼出答案。它造成了一些誤解,但我認爲我的答案對原始問題 –

+0

有用我試過Nickolay,但後來它忽略了DB上的第一條記錄。也許我認爲它發生的原因很不正確。我有7個記錄,我想要顯示,但每個循環只會提出6.它就好像數組的長度是6而不是7. –

+0

如果每個循環通過6條記錄,這意味着你只有6條記錄。首先檢查您的查詢 –