[Ror-es] find si error

Emilio Tagua miloops at gmail.com
Sun Jul 1 14:50:33 GMT 2007


On 7/1/07, wifer <ruby-forum-incoming at andreas-s.net> wrote:
> Buenos dias.
>
> como hago para realizar una consulta en un modelo que cuando no
> encuentre el rregistro no me genere error?
>
> no me digan que le ponga rescue, por que eso no es lo que necesito.

Asi es la funcion, no devuelve nil, devuelve una excepcion. Y porque
decis que no es lo que necesitas?

>
> modelo = Modelo.find_by_id(1)
>
> if modelo.valor = algo
>    ccccc
>    hago otras cosas con el modelo
> else
>    fhshsf
> end
>
> como lo tengo voy dos veces a la base de datos.
> una para chequear si existe el registro
> y otra para cargar el modelo, esto me parece demàs.

Cuando vas 2 veces? Si con el find ya traes los datos -primera vez- y
despues no deberia volver a ir, al menos que ese "algo" q pusiste vos
sea una relacion y en ese caso si iria. Para evitar esa ida haces:

modelo = Modelo.find_by_id(1, :include => :algo )

>
> entonces como cargo de una el modelo y que no me genere error si no
> existe?

Excepcion te la va a dar el metodo de buscar una, haces un rescue y
rescatas el la excepcion, para eso esta rescue, no veo porque tu
negacion a usarlo.

Me parece que confundis error con excepcion.

Saludos!


More information about the Ror-es mailing list