2010-09-07 58 views
0

在導軌中,您可以使用。循環查詢的返回結果。但如果只返回一行,該怎麼辦?或者你有0,1或者更多的可能性?你如何處理這些場景而不會引發錯誤?導軌處理單個和多個返回對象

這種情況尤其是我在哪裏接受以下瑞安的railcast博客(http://railscasts.com/episodes/196-nested-model-form-part-1

我可以返回1個或多個嵌套的項目,然後我通過需要循環和編寫XML形式的嵌套屬性。

回答

1

當您在#each中循環搜索一組結果時,無需擔心返回了多少結果。如果爲零,則數組中不會有任何元素傳遞給循環;如果一個,只有一個。如果更多,則每個傳遞給循環。在每種情況下,只要循環訪問數組,無論數組是空還是數組都是無關緊要的,或者如果它有一千個元素,則相同的循環代碼將運行而不會出錯。

藉助於舉例,我可以遍歷具有不同數量元件的陣列而沒有任何問題:

ree-1.8.7-2010.02 > [].each {|e| puts e } 
=> [] 
ree-1.8.7-2010.02 > [1].each {|e| puts e } 
1 
=> [1] 
ree-1.8.7-2010.02 > [1,2,3].each {|e| puts e } 
1 
2 
3 
=> [1, 2, 3]