¿No deberían los rails find_by_ methods devolver una matriz vacía en lugar de nil?¿No deberían los rails find_by_ methods devolver una matriz vacía en lugar de nil?
Es normal que no haya registros que coincidan con la condición find_by_, pero devolver nil no tiene sentido. Porque entonces en mis visitas errores son levantados por código sensibles como:
<% for thing in @thing_that_might_be_an_array_or_might_be_nil do %>
Desde find_by_ siempre devuelve una matriz, incluso si sólo hay 1 registro, sino que también debe devolver una matriz si hay 0 registros. A continuación, todos los
<% @thing.each
y
<% for thing in @thing
en nuestros puntos de vista se van pasando en silencio sobre su lugar de causar una "Lo sentimos, ha ocurrido un error." (o ¿qué me estoy perdiendo? ¿Cuál es la mejor práctica actual de tratar con esto?)
Y en Rails 4, todo esto es discutible. – Arcolye