簡體   English   中英

數組首先與(0)不匹配

[英]Array first doesn't match at(0)

Array的第first總是返回與at(0)相同的東西嗎? 我稱之為事物的順序會影響結果。 如果我在Rails的局部視圖中調用以下代碼:

<%= debug sections.at(0) %>
<%= debug sections.first %>

兩個輸出都匹配。 但是,如果我將訂單切換到此:

<%= debug sections.first %>
<%= debug sections.at(0) %>

我得到返回的數組中的最后一項first 同樣,如果我這樣做:

<%= debug sections.last %>
<%= debug sections.first %>
<%= debug sections.at(0) %>

前兩個條目匹配,最后一個匹配。 這里發生了什么?

我發現了這個問題。 sections印刷成陣列sections在調試,但實際上是一個ActiveRecord::Relation這是一種越來越坍塌成一個陣列。 結果,通過first調用我實際上得到了關於Relationfirst一個結果,無論出於何種原因,它實際上是具有最高id的部分(也就是“最后”項)。 轉換我的查詢以返回Section.where(...).all而不是Section.where(...)修復了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM