Rellenar un campo a partir de un valor de la base de datos

Buenas!. Tengo una base de datos con una tabla que tiene su id y aparte
un numCandidato. No son iguales ya que el id sigue incrementandose
aunque se borren algunos candidatos. Y numCandidato no se
autoincrementa, sino que hay que introducirlo.

Mi intención es que cuando salga el campo de numCandidato ya tenga
puesto el valor siguiente al del último registro de la tabla. Es decir
si el último candidato es el 2300, que aparezca 2301 en el campo.

He leido por ahí que se puede hacer MiTabla.find_by_id(int). Pero
necesitaría saber el id del último candidato. Alguien sabe como hacerlo?

Un saludo.

Hola

He leido por ahí que se puede hacer MiTabla.find_by_id(int). Pero
necesitaría saber el id del último candidato. Alguien sabe como hacerlo?

puedes hacer Tabla.find(:first,:order=>‘ID DESC’)

así ordenas la tabla por el campo que quieras (ID en este caso) de forma
descendente y te quedas con el primer registro.

Saludos,

javier ramírez

Hola gracias por las respuestas. En los dos casos me da error del objeto
esperado = nil. De todas formas es posible que este accediendo mal a la
tabla.

Estoy utilizando esto en un view, por lo que para acceder a la tabla,
pongo en el controller @candidatos = Candidato.find_all, así puedo
acceder a ella mediante @candidatos. Esta bien no?.

Un saludo

O también:

Tabla.maximum(:numCandidato).next

Usa mejor Candidato.find :all, que find_all esta “deprecated”. Con ese
método, obtienes un array, no un objeto Candidato

De todas formas no entiendo para qué quieres buscar todos los
candidatos. Si
sólo te hace falta un número para el nuevo candidato, por qué no pones
en el
controlador: @numero = Candidato.maximum(numCandidato).next y en el view
accedes a @numero?

Si no es eso, intenta ser un poco más preciso a ver si te podemos ayudar

Buenas! Pues mil gracias por la ayuda. He tardado un poco en dar con la
parte del controller donde tenía que ponerlo. Pero al final lo he
conseguido.

Creo que me comprare en breve algún libro, porque me está gustando esto
de RoR.

Un saludo.