Duda con asociaciones en el modelo

Jajaja. Estaba claro que era la típica chorradilla que nos ha pasado a
todo
el mundo y te puedes tirar 3 días sin ver.

Pues enhorabuena por haber empezado con tantas ganas.

Me recuerda muchísimo a mis inicios hace unos meses, que estaba tan
perdido
que no sabía ni mirar los logs, ni debug ni nada.

Afortunadamente existe Google y sobre todo esta lista.

Un saludo

Hola Fernando.

Revisando el log que has enviado he visto lo siguiente:

Processing LaptopsController#Create (for 127.0.0.1 at 2007-02-06
12:04:34) [POST]
Session ID: 73fc44b459c04494215b1f9060a4c4a0
Parameters: {“commit”=>“Create”, “action”=>“Create”,
“id”=>“1170759857140”, “controller”=>“laptops”,
“laptop”=>{“site_id”=>“1”, “num_movil”=>“asdfasdf”,
“umts”=>“asdfadfsasdf”, “nombre”=>“safd”, “observaciones”=>“asdfasdf”,
“modelo”=>“asdf”, “fecha_alta(1i)”=>“2007”, “ram”=>“asdf”,
“disco_duro”=>“asdf”, “fecha_alta(2i)”=>“2”, “fecha_alta(3i)”=>“6”,
“marca”=>“asdf”}, “scaffold_id”=>“laptop”}
Rendering laptops/Create

ActionView::TemplateError (Called id for nil, which would mistakenly be
4 – if you really wanted the id of nil, use object_id) on line #1 of
app/views/laptops/Create.rjs:

La acción que se está invocando es Create, pero en el controlador el
método se llama create (sin mayúscula), así que lo que ocurre es que no
encuentra ninguna acción y salta automáticamente al template (que
también se llama con mayúscula), pero al no haber pasado por el
controlador, @laptop es nil. Es por eso también que no te sale ningún
log a pesar de las líneas logger… que has puesto.

Lo que no se decirte es por qué lo tienes en mayúscula, a mi el
ajax_scaffold me lo genera con minúsculas (aunque yo estoy en linux y tú
en windows, podría ser una diferencia). Si lo has modificado tú, intenta
deshacer los cambios o regenerarlo, si lo ha hecho el ajax_scaffold,
habría que corregirlo.

Saludos

Fernando González Macías escribió:

controlador, por si te sirve de algo. Si me paso de listo, me lo dices sin

else
@laptop = Laptop.new
  @successful = @laptop.save
else
respond_to do |format|

[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Andrés Cirugeda E.
ASPgems
Email: andres at aspgems dot com

‘All we have to decide is what to do with the time that is given to us’.
Gandalf.

Hola Andrés. Muchas gracias por contestar.

Efectivamente como comentas el problema era ese. Lo encontré hace unos
minutos después de estar casi dos días liados con este tema.

Supongo que son los fallos normales de los principiantes.

De todas formas gracias a Luis V., he aprendido a tener unas
nociones básicas para debugear una aplicación en RoR.

Gracias Andrés.

Saludos


De: [email protected] en nombre de Andrés Cirugeda
Esco
Enviado el: mié 2/7/2007 13:07
Para: La lista sobre Ruby On Rails (rubyonrails.com) en castellano
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en _id

Hola Fernando.

Revisando el log que has enviado he visto lo siguiente:

Processing LaptopsController#Create (for 127.0.0.1 at 2007-02-06
12:04:34) [POST]
Session ID: 73fc44b459c04494215b1f9060a4c4a0
Parameters: {“commit”=>“Create”, “action”=>“Create”,
“id”=>“1170759857140”, “controller”=>“laptops”,
“laptop”=>{“site_id”=>“1”, “num_movil”=>“asdfasdf”,
“umts”=>“asdfadfsasdf”, “nombre”=>“safd”, “observaciones”=>“asdfasdf”,
“modelo”=>“asdf”, “fecha_alta(1i)”=>“2007”, “ram”=>“asdf”,
“disco_duro”=>“asdf”, “fecha_alta(2i)”=>“2”, “fecha_alta(3i)”=>“6”,
“marca”=>“asdf”}, “scaffold_id”=>“laptop”}
Rendering laptops/Create

ActionView::TemplateError (Called id for nil, which would mistakenly be
4 – if you really wanted the id of nil, use object_id) on line #1 of
app/views/laptops/Create.rjs:

La acción que se está invocando es Create, pero en el controlador el
método se llama create (sin mayúscula), así que lo que ocurre es que no
encuentra ninguna acción y salta automáticamente al template (que
también se llama con mayúscula), pero al no haber pasado por el
controlador, @laptop es nil. Es por eso también que no te sale ningún
log a pesar de las líneas logger… que has puesto.

Lo que no se decirte es por qué lo tienes en mayúscula, a mi el
ajax_scaffold me lo genera con minúsculas (aunque yo estoy en linux y tú
en windows, podría ser una diferencia). Si lo has modificado tú, intenta
deshacer los cambios o regenerarlo, si lo ha hecho el ajax_scaffold,
habría que corregirlo.

Saludos

Fernando González Macías escribió:

controlador, por si te sirve de algo. Si me paso de listo, me lo dices sin

else
@laptop = Laptop.new
  @successful = @laptop.save
else
respond_to do |format|

[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Andrés Cirugeda E.
ASPgems
Email: andres at aspgems dot com

‘All we have to decide is what to do with the time that is given to us’.
Gandalf.