2011-09-14 15 views
6

Raylar bulunmamalıdır Find_by_ yöntemleri nil yerine boş bir diziyi döndürüyor mu?Rails bulunmamalıdır Find_by_ yöntemleri nil yerine boş bir diziyi döndürür?

Find_by_ koşuluyla eşleşen hiçbir kayıt olmaması normaldir, ancak geri dönüşü anlamsızdır. Sonra benim görüşlerim hataları gibi mantıklı kod tarafından yetiştirilir Çünkü: find_by_ hep sadece 1 kayıt olmasa bile, bir dizi döndürür yana

<% for thing in @thing_that_might_be_an_array_or_might_be_nil do %> 

0 kayıt varsa, o da bir dizi dönmelidir. Sonra tüm bu bizim görünümlerinde

<% @thing.each 

ve

<% for thing in @thing 

sessizce yerine neden geçti alacak bir "Maalesef ama bir şeyler ters gitti." (ya da neyi özlüyorum? Bununla başa çıkmak için şu anki en iyi uygulama nedir?)

+0

Ve Raylar 4'te, tüm bunlar bir tartışmadır. – Arcolye

cevap

6

find_by_ durumunuza uyan ilk kaydı bulmak için kullanılır. Koşullarınızla eşleşen bir dizi kayıt bulmak için kullanılır.

Evet, evet, find_by_ için boş bir dizi değil, bir şey bulamadığında tamamen dönmesi normaldir, çünkü yalnızca bir şey soruyorsunuz.

+0

find_all_by_ ... – Arcolye

İlgili konular