![](/img/trans.png)
[英]How to select rows using second condition if first condition doesn't match
[英]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
調用我實際上得到了關於Relation
的first
一個結果,無論出於何種原因,它實際上是具有最高id的部分(也就是“最后”項)。 轉換我的查詢以返回Section.where(...).all
而不是Section.where(...)
修復了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.