Hola, siendo novato con rails, me atrevo a responder porque andaba con
lo mismo. Yo tengo un modelo persona, que tiene asociado con un
belongs_to otro modelo lugar.
Use un formulario del tipo <% form_tag :action => ´create´%>
en el controller del modelo persona puse
def create
@persona = Persona.new(params[:persona])
@lugar=Lugar.new(params[:lugar])
@lugar.save
@[email protected]
respond_to do |format|
if @persona.save
flash[:notice] = 'Persona was successfully created.'
format.html { redirect_to(@persona) }
format.xml { render :xml => @persona, :status => :created,
:location => @persona }
else
format.html { render :action => “new” }
format.xml { render :xml => @persona.errors, :status =>
:unprocessable_entity }
end
end
end
Anda, solo estan incluidos en este codigo un campo de cada modelo, ya
que estaba probando no le puse mas.
Ojo, esto no comprueba si tuvo exito el save del objeto lugar,
seguramente hay alguna otra forma de hacerlo mejor.
Esto lo saque modificando lo que encontre en este link
http://railsforum.com/viewtopic.php?id=717, no me funciono el save de
los dos modelos desde persona como esta planteado en el ejemplo y no se
porque.
Espero que sirva.
Saludos.
----- Original Message -----
From: Andrés gutiérrez
To: [email protected]
Sent: Friday, August 01, 2008 6:58 AM
Subject: Re: [Ror-es] como comprobar los datos
espero haberme explicado bien, si alguine se le ocurre como hacer esto
mas facil espero que me ayude, porque nose si lo estoy complicando
demasiado
Pues creo que si que te estas complicando demasiado. Estaras usando
para la JOIN de las tablas:
has_many :trought
o
has_and_belong_to_many
Si este este tu caso, y sin tener mucha idea. te diria que revisases
la API de ActiveRecord o uhacer un google para ver como se usan estas
relaciones.
Pero seguro que es más facil de lo que lo planteas.
Un saludo
El 1 de agosto de 2008 11:49, Maite
Piedra[email protected]escribió:
hola borja gracias por contestar, estoy usando la version de rails
2.0.2, por eso hago lo del last asi, de la otra forma no me
funciona.
explico mejor mi problema pues sigo intentando que funcione.
yo puedo mediante un formulario crear un mercado nuevo. y se me crea
bien.
y también puedo mediante otro formulario crear primero la empresa y
luego un mercado
el lios que ambos usan las misma funciones para escribir en la base
de
datos
es decir, cuando creo un nuevo mercado solo, uso su new y su create
y cuando creo primero la empresa y luego le asigno un mercado nuevo
genero el mismo formulario para mercado también con el mismo new y
create
y el problema viene en create que cuando creo un mercado solo, no
tengo
que escribirlo en la tabla join porque no esta asociado a ninguna
empresa
pero cuando creo una empresa y despues un mercado si debe de
escribirse
en la tabla join y es cuando tengo que llamar a inserta2
por eso dedo comprobar si tengo empresa antes de llamar a inserta2 y
ese
es el problema
(Empresa != 0) ? inserta2 : (render :text=>"no salio")
que no se como
espero haberme explicado bien, si alguine se le ocurre como hacer
esto
mas facil espero que me ayude, porque nose si lo estoy complicando
demasiado
muchas gracias
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es