0

Railsでは.eachdo||を使用できます クエリの返された結果をループします。しかし、1行だけが返される場合はどうなりますか?またはあなたは0、1、または多くの可能性がありますか?エラーをスローせずにこれらのシナリオをどのように処理しますか?

特にこの状況は、ライアンのrailcastブログ(http://railscasts.com/episodes/196-nested-model-form-part-1)に従ってネストされた属性を受け入れている状況です。

1つまたは複数のネストされたアイテムを返すことができます。これらのアイテムをループしてXMLフォームを作成する必要があります。

4

1 に答える 1

1

を使用して一連の結果をループしている場合#each、返される結果の数を気にする必要はありません。ゼロの場合、ループに渡す要素は配列にありません。1つなら、1つだけ。それ以上の場合、それぞれがループに渡されます。いずれの場合も、配列をループしているだけであれば、配列が空であるか、1000個の要素があるかは関係ありません。同じループコードは、エラーなしで実行されます。

例として、要素の数が異なる配列を問題なくループできます。

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]
于 2010-09-07T05:48:14.530 に答える