我目前正在編寫一個ruby函數,它從數據庫獲取一個表,然後根據數據創建一個數組。它是這樣寫的:在Ruby on Rails中添加數組
def listSome
@foos = Array.new
FooTable.find(:all) do |foo|
@foos << foo if foo.name == "Bar"
end
end
我遇到的問題是隻有查詢的第一個元素被添加到數組中。我已經檢查過FooTable.find(:all)會返回我認爲它應該在控制檯中的內容,並且可以循環使用它的結果(我在每個循環中打印結果,它找到了它所要查找的內容)。不過,我懷疑,有一些關於我不明白的數組/集合的連接。爲什麼我只將查詢的第一個結果添加到數組中?謝謝。
+1我刪除類似的答案,但沒有提到他的發現效率低下。我更喜歡這個。 – jdl 2011-01-28 17:29:11
Jeez你說得對,我現在就看到它。此外,這會不會是一種有效/較好/較差的方法? @foos = FooTable.find_all_by_name(「Bar」)? – keybored 2011-01-28 17:35:08