buenas lista
estoy haciendo pruebas con la base de datos, relaciones y otras cosas, y
tengo un problema y nose como resolverlo. he buscado respcto a esto pero
no veo ninguna referencia
en principio seria la gestion de alumnos de un colegio
para ello cree tres dos modelos cuya relación es 1 a 1 (un alumno tiene
1 expediente, un expediente pertenece a un alumno)
class CreateAlumnos < ActiveRecord::Migration
def self.up
create_table :alumnos do |t|
t.string :nombre
t.string :apellido
t.string :DNI
t.string :direccion
t.string :sexo
t.integer :telefono
t.string :mail_padres
t.integer :expediente_id
t.timestamps
end
end
Tengo un formulario que me pregunta si el alumno es nuevo o antiguo
cuando es alumno nuevo me da un formulario para rellenar los datos del
usuario
y cuando le doy a crear, que me va al metodo create, ya necesito tener
el id del expediente para guardarlo en el campo expediente_id pero como
hago esto???
como lo harian ustedes???
muchas gracias y espero sus comentarios
si es cierto que no tiene sentido la relacion 1:1 pero es por probar y
por hacer cositas.
la cosa es que me funciona, pero tengo una duda mi index me muestra dos
botones que al tocarlos me aparece un formulario
<% form_tag :action => ‘Nuevo’ do %>
la cosa es que cuando voy a ver el código html que genera no veo el
formulario, esta la etiqueta aqui que es la que se actualiza pero no
estan las etiquetas html del formulario.
y si uso las validaciones me da error.
supongo que ambas cosas sean porque las llamadas esa son con ajax,
pero es asi como debe funcionar, o estoy metiendo la pata?
si quiero validar lso formularios como lo hago???
La solución de Ricardo es buena, pero va a ser mucho más simple tener
los datos en una única tabla, en vez de tener dos tablas 1:1.
Ya saliendo de Rails, depende si es bueno o no.
Por ejemplo, si vos tenes 1 sola tabla y te la pasas haciendo select *
from user para solo mostrar 3 datos, tenes un uso de BW alto al cuete,
y en ese caso si solo mostrar el legajo en 1 solo lugar muy raravez,
conviene separarlo y tener 1 query mas en un caso particular que una
query “pesada” (en Mb de red).