Duda con asociaciones en el modelo

Pues en el controlador parece todo correcto. No se me ocurre qué puede
pasar.

¿al menos te crea en la BBDD el nuevo laptop?

Mira en el modelo de laptop que pones foreign key. En principio eso no
hace
falta, ya que el campo en la BBDD sigue la convención de RoR. Déjalo así
:

belongs_to :site, :foreign_key => “site_id”

y prueba a ver…

No se me ocurre nada más. Pega el código de _form.rhtml por si acaso

Hola Luis.

Te pongo a continuación el código que comentas del fichero
.\app\controllers\laptops_controller.rb

def new
@laptop = Laptop.new
@successful = true
return render(:action => ‘new.rjs’) if request.xhr?
# Javascript disabled fallback
if @successful
@options = { :action => “create” }
render :partial => “new_edit”, :layout => true
else
return_to_main
end
end

def create
begin
@laptop = Laptop.new(params[:laptop])
@successful = @laptop.save
rescue
flash[:error], @successful = $!.to_s, false
end

return render(:action => 'create.rjs') if request.xhr?
if @successful
  return_to_main
else
  @options = { :scaffold_id => params[:scaffold_id], :action => 

“create” }
render :partial => ‘new_edit’, :layout => true
end
end

Saludos y gracias.

Fernando González Macías
[email protected]


De: [email protected] en nombre de Luis V.
Enviado el: mar 2/6/2007 12:45
Para: La lista sobre Ruby On Rails (rubyonrails.com) en castellano
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en _id

¿Puedes poner el método create de laptops_controller?

Parece ser que intenta buscar @laptop y no lo encuentra.

On 2/6/07, Fernando González Macías [email protected] wrote:

Hola Luis. De nuevo muchas gracias por todo el interés que te estás
tomando. Llevo dos días tres días con Rails y los comienzos se hacen
difíciles, aunque al ver lo que se va consiguiendo poco a poco, ilusiona
;—))))

Te adjunto parte del log del development.log donde se muestra el
error, pero no soy capaz de interpretarlo. Quizás esté relacionada con
la definición del campo referenciado y la lista desplegable asociada al
mismo.

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:
1: @options = { :scaffold_id => params[:scaffold_id], :action =>
“view”, :id => @ laptop.id }
2: @create_options = @options.merge(:action => “create”, :id =>
params[:id])
3:
4: if @successful
#{RAILS_ROOT}/app/views/laptops/Create.rjs:1:in
__bind_1170759874_812000' #{RAILS_ROOT}/app/views/laptops/Create.rjs:0:in __bind_1170759874_812000’
C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/core_ext/object/extending.rb:44:in
[]' C:/RUBY/lib/ruby/gems/1.8/gems/activesupport- 1.4.0/lib/active_support/core_ext/object/extending.rb:44:in instance_exec’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/helpers/prototype_helper.rb:313:in
initialize' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack- 1.13.1/lib/action_view/helpers/prototype_helper.rb:625:in new’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/helpers/prototype_helper.rb:625:in
update_page' #{RAILS_ROOT}/app/views/laptops/Create.rjs:0:in _run_rjs_47app47views47laptops47Create46rjs’

Saludos y gracias por todo.


De: [email protected] en nombre de Luis V.
Enviado el: mar 2/6/2007 11:51
Para: La lista sobre Ruby On Rails (rubyonrails.com) en castellano
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en
_id

Mira en development.log justo cuando le des a create new. Cuando pasa
lo de la ruedecita, y no hace na más, suele ser que ha petado en algún
sitio.

Si estás desarrollando con RadRails, utiliza el comando tail en
development.log para ver el log avanzando conforme haces las acciones.

Pega el trocito de log y a ver si te podemos ayudar.

Un saludo

On 2/6/07, Fernando González Macías < [email protected]
mailto:[email protected] > wrote:

      Gracias Luis.

      Efectivamente supongo que debe ser el comportamiento habitual 

en AjaxScaffold respecto a las claves foráneas. El caso es que con el
comentario tuyo ya he conseguido mostrar la información del campo
referenciado, tanto en list, como en la edición y adicción de registros.
Es decir que obtengo el desplegable que es lo que quería.

      Evidentemente en el _form.rhtml he tenido que incluir las 

etiquetas correspondientes. Como sigue:

      <div class="form-element">
        <label for="laptop_siteid">Empresa</label>
        <%= select 'laptop','site_id' , Site.find_all.collect {|p| 

[p.nombre, p.id] } %>

      El tema ahora es que en la edición no obtengo ningún problema, 

puedo modificar cualquier campo, incluido el campo empresa referenciado
a través del desplegable. Sin embargo a la hora de añadir registros
nuevos, cuando voy a guardar se me queda en una especie de bucle,
continuamente con la “ruedecita dando vueltas” propia de operación en
curso.

      ¿Se le ocurre a alguien a que puede ser debido?. Pongo a 

continuación el fuente de laptop.rb. Son dos tablas:laptops y sites. Un
portátil pertenece a un sitio(empresa).

      require 'ajax_scaffold'
      class Laptop < ActiveRecord::Base

        validates_presence_of :nombre

        belongs_to :site, :foreign_key => "site_id"

        @scaffold_columns = [
          AjaxScaffold:: ScaffoldColumn.new(self, { :name => 

“nombre”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name =>
“site_id”,
:eval => “laptop.site.nombre”, :label => “Empresa”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name =>
“marca”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name =>
“modelo”}),
AjaxScaffold::ScaffoldColumn.new (self, { :name =>
“disco_duro”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “ram”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name =>
“fecha_alta”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “umts”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name =>
“num_movil”}),
AjaxScaffold::ScaffoldColumn.new (self, { :name =>
“observaciones”}),
]
end

      Saludos y gracias.

      Fernando González Macias
      [email protected]


      ________________________________

      De: [email protected] en nombre de Luis 

Villegas
Enviado el: mar 2/6/2007 08:36
Para: La lista sobre Ruby On Rails ( rubyonrails.com) en
castellano
Asunto: Re: [Ror-es] Problemas con campos con nombre
finalizados en _id

      En ajax scaffold no te pone las claves foráneas supongo que 

porque son
números que no dicen nada al usuario final.

      Hasta donde yo sé, tienes que definirlas manualmente en el 

modelo. Yo
lo hago así:

      Imagina que la tabla tiene un id, un nombre y una clave 

foránea que es
cliente_id
cliente_usuario.rb:
require ‘ajax_scaffold’
class ClienteUsuario < ActiveRecord::Base
belongs_to :cliente

        @scaffold_columns = [
        AjaxScaffold::ScaffoldColumn.new(self, { :name => 

“nombre”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name =>
“cliente_id”,
:eval => “cliente_usuario.cliente.descripcion”, :label =>
“Cliente”})
]
end

      La primera columna es lo que hace por defecto.

      La segunda hace que se evalúe lo que le pasas a :eval, así 

puedes
tener lo que tú quieras poner.

      Más información:
      http://www.height1percent.com/articles/2006/04/18/ajaxscaffold-3-1-0-released
      Mira donde pone "Handling associations from the belongs_to 

side of things"

      Si hay alguna otra manera de hacerlo más fácil, me encantaría 

saberlo.
Yo te he dado lo que he podido encontrar.

      Ah y otra cosa, creo que al generar hay que poner el nombre de 

la
tabla en singular. Eso creo vamos.

      Un saludo





      On 2/5/07, Fernando González Macías < 

[email protected]> wrote:
>
>
>
>
> Tengo un problema que no entiendo bien.
>
>
>
> Tengo una tabla “laptops” en la cual un campo site_id de
tipo int (11) hará
> referencia al “site” al que pertenece dicho “laptop”. El
caso es que si la
> pongo con dicha nomenclatura site_id al realizar el comando:
>
>
>
> C:> ruby script\generate ajaxscaffold Laptops , dicho campo
no lo incluye en
> el formulario.
>
>
>
> ¿Esto es por alguna regla delimitada?. ¿Existe forma de
cambiar dicho
> comportamiento?
>
>
>
>
> Fernando González Macías
>
> [email protected]
> _______________________________________________
> Ror-es mailing list
> [email protected]
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
>
_______________________________________________
Ror-es mailing list
[email protected]
mailto:[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

      _______________________________________________
      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

El registro del laptop no lo crea ya que se queda en el Create siempre
con la ruedecilla dando vueltas. Cuando le doy a Cancel recupero el
control, pero evidentemente no genera nada.

He probado a poner en el método Create de laptops_controller.rb lo que
me comentaste y creo que no aparece en el log. Reinicié Webrick y limpié
previamente el fichero development.log. Todo el log es el que te pongo a
continuación:

Gracias por todo…

Processing LaptopsController#Create (for 127.0.0.1 at 2007-02-07
09:25:45) [POST]
Session ID: d51a36e42763ef2815266eb395451522
Parameters: {“commit”=>“Create”, “action”=>“Create”,
“id”=>“1170836670968”, “controller”=>“laptops”,
“laptop”=>{“site_id”=>“2”, “num_movil”=>“2334324234234”, “umts”=>“Fusion
Object Network”, “nombre”=>“CPOR10”, “observaciones”=>“No hay”,
“modelo”=>“nx9010”, “fecha_alta(1i)”=>“2007”, “ram”=>“512 Mb”,
“disco_duro”=>“100 Gb”, “fecha_alta(2i)”=>“2”, “fecha_alta(3i)”=>“7”,
“marca”=>“HP”}, “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:
1: @options = { :scaffold_id => params[:scaffold_id], :action => “view”,
:id => @laptop.id }
2: @create_options = @options.merge(:action => “create”, :id =>
params[:id])
3:
4: if @successful
#{RAILS_ROOT}/app/views/laptops/Create.rjs:1:in
__bind_1170836745_578000' #{RAILS_ROOT}/app/views/laptops/Create.rjs:0:in _bind_1170836745_578000’
C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/core_ext/object/extending.rb:44:in
[]' C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/core_ext/object/extending.rb:44:in instance_exec’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/helpers/prototype_helper.rb:313:in
initialize' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/helpers/prototype_helper.rb:625:in new’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/helpers/prototype_helper.rb:625:in
update_page' #{RAILS_ROOT}/app/views/laptops/Create.rjs:0:in run_rjs_47app47views47laptops47Create46rjs’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/base.rb:326:in
send' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/base.rb:326:in compile_and_render_template’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/base.rb:301:in
render_template' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_view/base.rb:260:in render_file’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:806:in
render_file' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:711:in render_with_no_layout’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/layout.rb:256:in
render_without_benchmark' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:50:in render’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:50:in
measure' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:50:in render’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:1101:in
perform_action_without_filters' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:632:in call_filter’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:638:in
call_filter' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:637:in call’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:637:in
call_filter' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:638:in call_filter’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:637:in
call' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:637:in call_filter’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:619:in
perform_action_without_benchmark' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in perform_action_without_rescue’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in
measure' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in perform_action_without_rescue’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:83:in
perform_action' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:430:in send’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:430:in
process_without_filters' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:624:in process_without_session_management_support’
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/session_management.rb:114:in
process' C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:330:in process’
C:/RUBY/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/dispatcher.rb:41:in
dispatch' C:/RUBY/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:113:in handle_dispatch’
C:/RUBY/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:79:in
service' C:/RUBY/lib/ruby/1.8/webrick/httpserver.rb:104:in service’
C:/RUBY/lib/ruby/1.8/webrick/httpserver.rb:65:in run' C:/RUBY/lib/ruby/1.8/webrick/server.rb:155:in start_thread’
C:/RUBY/lib/ruby/1.8/webrick/server.rb:144:in start' C:/RUBY/lib/ruby/1.8/webrick/server.rb:144:in start_thread’
C:/RUBY/lib/ruby/1.8/webrick/server.rb:94:in start' C:/RUBY/lib/ruby/1.8/webrick/server.rb:89:in each’
C:/RUBY/lib/ruby/1.8/webrick/server.rb:89:in start' C:/RUBY/lib/ruby/1.8/webrick/server.rb:79:in start’
C:/RUBY/lib/ruby/1.8/webrick/server.rb:79:in start' C:/RUBY/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:63:in dispatch’
C:/RUBY/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/commands/servers/webrick.rb:59
C:/RUBY/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in
require__' C:/RUBY/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in require’
C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
require' C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in new_constants_in’
C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
require' C:/RUBY/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/commands/server.rb:39 C:/RUBY/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in require

C:/RUBY/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in
require' C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in require’
C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
new_constants_in' C:/RUBY/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in require’
script/server:3

Rendering
C:/RUBY/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/templates/rescues/layout.rhtml
(500 Internal Error)

Processing LaptopsController#cancel (for 127.0.0.1 at 2007-02-07
09:25:55) [POST]
Session ID: d51a36e42763ef2815266eb395451522
Parameters: {“action”=>“cancel”, “referring_action”=>“Create”,
“id”=>“1170836670968”, “controller”=>“laptops”, “scaffold_id”=>“laptop”}
Rendering laptops/cancel.rjs
Completed in 0.01600 (62 reqs/sec) | Rendering: 0.01600 (100%) | 200 OK
[http://localhost/laptops/cancel/1170836670968?scaffold_id=laptop&referring_action=Create]


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

Una pruebecilla. Pon “logger.debug @laptop.id” antes de rescue en tu
método create.

Así:

def create
  begin
    @laptop = Laptop.new(params[:laptop])
    @successful = @laptop.save


      logger.debug @laptop.id


  rescue
    flash[:error], @successful  = $!.to_s, false
  end

  return render(:action => 'create.rjs') if request.xhr?
  if @successful
    return_to_main
  else
    @options = { :scaffold_id => params[:scaffold_id], :action => 

“create” }
render :partial => ‘new_edit’, :layout => true
end
end

Y mira en el log al crear a ver si te lo muestra

El Wednesday 07 February 2007 08:30:28 Fernando González Macías
escribió:> 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

Parece que el problema está en la plantilla Create.rjs. Estás intentando
acceder al método “id” de algo que es “nil”.

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

Una pruebecilla. Pon “logger.debug @laptop.id” antes de rescue en tu
método
create.

Así:

def create
begin
@laptop = Laptop.new(params[:laptop])
@successful = @laptop.save

      logger.debug @laptop.id

rescue
end

end

Y mira en el log al crear a ver si te lo muestra

Imobach, ese código es el código que te genera por defecto el Ajax
Scaffold
Generator, por eso lo tiene así. Las variables @successful y @options
las
utiliza luego en el rjs y rhtml. Es lo malo de este generador, que te
fuerza
a su código.

Fernando, prueba a poner en el controlador, en vez de @laptop.save, @
laptop.save! para que te suelte la excepción. Puede ser que estés
violando
alguna restrincción de la BBDD, como haber puesto teléfono como number
en
vez de como varchar, las fecha_alta como date y le estés pasando
formatos
erróneos (he visto que le pasas “3”), etc.

El Tuesday 06 February 2007 22:46:21 Fernando González Macías
escribió:
Si me permites, voy a hacer algún pequeño comentario sobre el código de tu
controlador, por si te sirve de algo. Si me paso de listo, me lo dices
sin
más :wink:

end

end

En principio no entiendo por qué necesitas las variables @successful y
@options. El primero, en este caso, va a ser siempre “true”. El segundo,
imagino que es para poner correctamente el “action” del formulario. Esto
se
podría refactorizar
así:
def new
@laptop = Laptop.new
respond_to do |format|
format.js { render :action => ‘new.rjs’ } # Llamada usando AJAX
format.html { render :partial => ‘new’ } # En la plantilla
‘new.rhtml’,
# ‘action’ vale ‘create’.
end
end

def create
begin
@laptop = Laptop.new(params[:laptop])
@successful = @laptop.save

El “new” no lanza excepciones, al menos que yo recuerde.

end

end

Otro enfoque podría ser este:

def create
@laptop = Laptop.new(params[:laptop])

respond_to do |format|
  if @laptop.save
    format.html { redirect_to_main }
    format.js { render :action => 'create.rjs' }
  else
    format.html { render :action => 'new' }
    format.js { render :action => 'new.rjs' }
  end
end

Espero que sirva de algo.

Un saludo.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

Hola Imobach de nuevo.

Como te comentaba en otro correo, llevo tres dias con RoR y el código es
el que me genera AjaxScaffold. Aún no tengo capacidad para realizar las
“refactorizaciones” que tú realizas. De todas formas, muchas gracias
porque me sirve para aprender.

Estoy aprendiendo mientras realizo una pequeña aplicación de gestión de
préstamos de portátiles, que necesitabamos en el departamento. No sé si
es el método correcto, pero voy avanzando para llevar 3 días con esta
frameWork.

Saludotes…


De: [email protected] en nombre de Imobach González
Sosa
Enviado el: mié 2/7/2007 09:50
Para: [email protected]
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en _id

El Tuesday 06 February 2007 22:46:21 Fernando González Macías escribió:

Si me permites, voy a hacer algún pequeño comentario sobre el código de
tu
controlador, por si te sirve de algo. Si me paso de listo, me lo dices
sin
más :wink:

end

end

En principio no entiendo por qué necesitas las variables @successful y
@options. El primero, en este caso, va a ser siempre “true”. El segundo,
imagino que es para poner correctamente el “action” del formulario. Esto
se
podría refactorizar así:

def new
@laptop = Laptop.new
respond_to do |format|
format.js { render :action => ‘new.rjs’ } # Llamada usando AJAX
format.html { render :partial => ‘new’ } # En la plantilla
‘new.rhtml’,
# ‘action’ vale ‘create’.
end
end

def create
begin
@laptop = Laptop.new(params[:laptop])
@successful = @laptop.save

El “new” no lanza excepciones, al menos que yo recuerde.

end

end

Otro enfoque podría ser este:

def create
@laptop = Laptop.new(params[:laptop])

respond_to do |format|
  if @laptop.save
    format.html { redirect_to_main }
    format.js { render :action => 'create.rjs' }
  else
    format.html { render :action => 'new' }
    format.js { render :action => 'new.rjs' }
  end
end

Espero que sirva de algo.

Un saludo.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

Hola Imobach.

El tema es que no sé exactamente del código de Create.rjs que es lo que
puede estar haciéndose mal. Llevo trs días con RoR y estoy utilizando
AjaxScaffold. Te pego el código de Create.rjs por si te diera algo de
luz al respecto, o lo vieras muy claro el tema. Yo aún no dispongo de
los recursos y conocimientos para resolverlo.

@options = { :scaffold_id => params[:scaffold_id], :action => “view”,
:id => @laptop.id }
@create_options = @options.merge(:action => “create”, :id =>
params[:id])
if @successful
page.insert_html :bottom, scaffold_tbody_id(@options), :partial =>
‘laptop’, :locals => { :hidden => true }
page << “new TableRow.MoveAfter(‘#{element_row_id(@create_options)}’,
‘#{element_row_id(@options)}’);”
page.remove element_row_id(@create_options)
page.show element_row_id(@options)
page << “AjaxScaffold.stripe(‘#{scaffold_tbody_id(@options)}’);”
page << “AjaxScaffold.removeSortClasses(‘#{@options[:scaffold_id]}’);”
page.replace_html scaffold_messages_id(@options), :partial =>
‘messages’
else
page.replace_html element_messages_id(@create_options), :partial =>
‘form_messages’
page << “Form.enable(‘#{element_form_id(@create_options)}’);”
page.hide loading_indicator_id(@create_options)
end

Saludos y gracias por todo…


De: [email protected] en nombre de Imobach González
Sosa
Enviado el: mié 2/7/2007 09:38
Para: [email protected]
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en _id

El Wednesday 07 February 2007 08:30:28 Fernando González Macías
escribió:

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

Parece que el problema está en la plantilla Create.rjs. Estás intentando
acceder al método “id” de algo que es “nil”.

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

El Wednesday 07 February 2007 08:59:12 Fernando González Macías
escribió:> @laptop.id

Probablemente @laptop sea “nil”.

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

El Wednesday 07 February 2007 09:02:25 Fernando González Macías
escribió:> Hola Imobach de nuevo.

Como te comentaba en otro correo, llevo tres dias con RoR y el código es el
que me genera AjaxScaffold. Aún no tengo capacidad para realizar las
“refactorizaciones” que tú realizas. De todas formas, muchas gracias porque
me sirve para aprender.

Perfecto, pues ánimo :wink: De todos modos, si llevas poco tiempo con Rails,
yo
te aconsejaría que dejaras AJAX de lado de momento. Cuando tengas algo
más de
rodaje te resultará mucho más fácil.

Estoy aprendiendo mientras realizo una pequeña aplicación de gestión de
préstamos de portátiles, que necesitabamos en el departamento. No sé si es
el método correcto, pero voy avanzando para llevar 3 días con esta
frameWork.

Pues lo dicho, ánimo.

Saludotes…

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

Luis he puesto en el controlador @laptop.save! , pero no he observado
que me muestre ninguna diferencia, ni a nivel de programa, ni a nivel
del development.log -no sé si estoy haciendo algo incorrecto-.

Respecto a la fecha, tengo definido en la tabla de mysql un campo de
tipo date, y AjaxScaffold automaticamente me ha generado en el
formulario tres listas desplegables para el año, mes y día, de ahí
supongo la existencia de los tres parámetros que manda.

Saludos


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

Imobach, ese código es el código que te genera por defecto el Ajax
Scaffold Generator, por eso lo tiene así. Las variables @successful y
@options las utiliza luego en el rjs y rhtml. Es lo malo de este
generador, que te fuerza a su código.

Fernando, prueba a poner en el controlador, en vez de @laptop.save,
@laptop.save! para que te suelte la excepción. Puede ser que estés
violando alguna restrincción de la BBDD, como haber puesto teléfono como
number en vez de como varchar, las fecha_alta como date y le estés
pasando formatos erróneos (he visto que le pasas “3”), etc.

On 2/7/07, Imobach González Sosa [email protected] wrote:

El Tuesday 06 February 2007 22:46:21 Fernando González Macías
escribió:

Si me permites, voy a hacer algún pequeño comentario sobre el código
de tu
controlador, por si te sirve de algo. Si me paso de listo, me lo dices
sin
más :wink:

def new
@laptop = Laptop.new
@successful = true
return render(:action => ‘new.rjs’) if request.xhr?

Javascript disabled fallback

if @successful
@options = { :action => “create” }
render :partial => “new_edit”, :layout => true
else
return_to_main
end
end

En principio no entiendo por qué necesitas las variables @successful y
@options. El primero, en este caso, va a ser siempre “true”. El
segundo,
imagino que es para poner correctamente el “action” del formulario.
Esto se
podría refactorizar así:

def new
  @laptop = Laptop.new
  respond_to do |format|
    format.js { render :action => 'new.rjs' } # Llamada usando AJAX
    format.html { render :partial => 'new' } # En la plantilla ' 

new.rhtml’,
# ‘action’ vale
‘create’.
end
end

def create
begin
@laptop = Laptop.new(params[:laptop])
@successful = @laptop.save

El “new” no lanza excepciones, al menos que yo recuerde.

rescue
  flash[:error], @successful  = $!.to_s, false
end

return render(:action => 'create.rjs') if request.xhr?
if @successful
  return_to_main
else
  @options = { :scaffold_id => params[:scaffold_id], :action =>

“create” } render :partial => ‘new_edit’, :layout => true
end
end

Otro enfoque podría ser este:

def create
  @laptop = Laptop.new(params[:laptop])

  respond_to do |format|
    if @laptop.save
      format.html { redirect_to_main }
      format.js { render :action => 'create.rjs' }
    else
      format.html { render :action => 'new' }
      format.js { render :action => 'new.rjs' }
    end
  end

Espero que sirva de algo.

Un saludo.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/


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

El Wednesday 07 February 2007 09:33:40 Luis V.
escribió:> Puedes poner el script de generación de la tabla laptop?

Aparte haz una prueba: Pon en la consola (en la raíz de la aplicación :
ruby script/console):
laptop = Laptop.new(site_id"=>“2”, “num_movil”=>“2334324234234”,

Cuidado con las comillas del site_id (“site_id” => “2”).

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

Puedes poner el script de generación de la tabla laptop?

Aparte haz una prueba: Pon en la consola (en la raíz de la aplicación :
ruby script/console):
laptop = Laptop.new(site_id"=>“2”, “num_movil”=>“2334324234234”,
“umts”=>“Fusion Object Network”, “nombre”=>“CPOR10”,
“observaciones”=>“No
hay”, “modelo”=>“nx9010”, “fecha_alta(1i)”=>“2007”, “ram”=>“512 Mb”,
“disco_duro”=>“100 Gb”, “fecha_alta(2i)”=>“2”, “fecha_alta(3i)”=>“7”,
“marca”=>“HP”)
laptop.save!

Y a ver qué dice

Ahí va, perdona lo de las comillas. Inconvenientes de copy&paste :wink:

Vamos a ver, por ir descartando si entra realmente en el controlador.
Pon:

def create
logger(“entra en controlador”)
begin
@laptop = Laptop.new(params[:laptop])
logger(“crea objeto @laptop”)
@successful = @laptop.save!
logger(“guarda en base de datos”)
rescue
logger(“excepcion”)
flash[:error], @successful = $!.to_s, false
end

return render(:action => ‘create.rjs’) if request.xhr?
if @successful
return_to_main
else
@options = { :scaffold_id => params[:scaffold_id], :action =>
“create”
}
render :partial => ‘new_edit’, :layout => true
end
end

Y a ver que te da.

Otra cosa, quitaste lo de foreign_key => “site_id” en el modelo?

Gracias Imobach, por lo de las comillas.

Con la corrección esta desde línea de comandos me ha generado
correctamente el registro. Me lo ha añadido a la tabla.

¿Alguna idea entonces porque no lo hace desde la aplicación?

Saludotes…


De: [email protected] en nombre de Imobach González
Sosa
Enviado el: mié 2/7/2007 10:58
Para: [email protected]
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en _id

El Wednesday 07 February 2007 09:33:40 Luis V. escribió:

Puedes poner el script de generación de la tabla laptop?

Aparte haz una prueba: Pon en la consola (en la raíz de la aplicación :
ruby script/console):
laptop = Laptop.new(site_id"=>“2”, “num_movil”=>“2334324234234”,

Cuidado con las comillas del site_id (“site_id” => “2”).

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

Y en todas partes donde puse logger, cámbialo a logger.debug

Ah y mira que estés utilizando el entorno development, y no production

He puesto el código que me has comentado y el comportamiento sigue
siendo el mismo. Borré el development.log e inicié WebRick y en el log
veo exactamente el mismo contenido. Las entradas de logger ¿debería
verlas en el development.log imagino, no? O quizás es en otro sitio
donde se registran las entradas de logger.

Por otro lado, respecto a la foreign_key, no la tenía quitada. Pero la
he probado quitándola y sin quitarla y es lo mismo.

¿Realmente no hace falta entonces?

Un apunte. En la línea siguiente generada en el log:

Parameters: {“commit”=>“Create”, “action”=>“Create”,
“id”=>“1170845105781”, “controller”=>“laptops”,

que está inmediatamente antes que la definición del contenido de los
campos que introduje por consola con éxito. El valor de este campo id,
¿en concreto a qué se refiere? Al valor que almacenará en el campo ip
autonumérico de la tabla. El campo id autonumérico se crea como int(11)
y este valor es un int(13). Supongo que no van por ahí los tiros, pero
por si acaso.

Saludos


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

Ahí va, perdona lo de las comillas. Inconvenientes de copy&paste :wink:

Vamos a ver, por ir descartando si entra realmente en el controlador.
Pon:

def create
logger(“entra en controlador”)
begin
@laptop = Laptop.new(params[:laptop])
logger(“crea objeto @laptop”)
@successful = @laptop.save!
logger(“guarda en base de datos”)
rescue
logger(“excepcion”)
flash[:error], @successful = $!.to_s, false
end

return render(:action => ‘create.rjs’) if request.xhr?
if @successful
return_to_main
else
@options = { :scaffold_id => params[:scaffold_id], :action =>
“create” }
render :partial => ‘new_edit’, :layout => true
end
end

Y a ver que te da.

Otra cosa, quitaste lo de foreign_key => “site_id” en el modelo?

On 2/7/07, Fernando González Macías [email protected] wrote:

Gracias Imobach, por lo de las comillas.

Con la corrección esta desde línea de comandos me ha generado
correctamente el registro. Me lo ha añadido a la tabla.

¿Alguna idea entonces porque no lo hace desde la aplicación?

Saludotes…


De: [email protected] en nombre de Imobach
González Sosa
Enviado el: mié 2/7/2007 10:58
Para: [email protected]
Asunto: Re: [Ror-es] Problemas con campos con nombre finalizados en
_id

El Wednesday 07 February 2007 09:33:40 Luis V. escribió:

Puedes poner el script de generación de la tabla laptop?

Aparte haz una prueba: Pon en la consola (en la raíz de la
aplicación :
ruby script/console):
laptop = Laptop.new(site_id"=>“2”, “num_movil”=>“2334324234234”,

Cuidado con las comillas del site_id (“site_id” => “2”).

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/


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

On 2/7/07, Fernando González Macías [email protected] wrote:

He puesto el código que me has comentado y el comportamiento sigue siendo
el mismo. Borré el development.log e inicié WebRick y en el log veo
exactamente el mismo contenido. Las entradas de logger ¿debería verlas en el
development.log imagino, no? O quizás es en otro sitio donde se registran
las entradas de logger.

Sí, deberías verlas en development.log. Supongo que habrás puesto
logger.debug y no logger, que me confundí.
Prueba a poner en vez de logger.debug, puts. Con ese método se te
escribirían las cosas en la consola del servidor. A ver si te suelta
algo.
Y para ver si te funciona el logger, ponlo en create.rjs, antes de la
primera línea. Por ejemplo logger.debug(“Estoy en el rjs”)

Por otro lado, respecto a la foreign_key, no la tenía quitada. Pero la he
probado quitándola y sin quitarla y es lo mismo.

¿Realmente no hace falta entonces?

No hace falta si tu campo sigue las convenciones de RoR, es decir que el
nombre de la clave foránea sea el nombre de la tabla a la que referencia
terminado en _id.

Un apunte. En la línea siguiente generada en el log:

Saludos

Ese id es algo que utiliza AjaxScaffold no sé muy bien para qué. A ti el
que
te interesa es, en caso de que existiera, el que hay en los parámetros
relativos a laptop ( en los parámetros que se envían sería
“laptop”=>{“id”=>…), pero al ser creación y no modificación, la id
se
genera automáticamente cuando guardas.

Mira en tu modelo, que no creo que sea, pero yo normalmente las
validaciones
las pongo al final del modelo. Que te quede así:

laptop.rb

require ‘ajax_scaffold’
class Laptop < ActiveRecord::Base

belongs_to :site, :foreign_key => “site_id”

@scaffold_columns = [
AjaxScaffold::ScaffoldColumn.new(self, { :name => “nombre”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “site_id”,
:eval => “laptop.site.nombre”, :label => “Empresa”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “marca”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “modelo”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “disco_duro”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “ram”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “fecha_alta”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “umts”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “num_movil”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “observaciones”}),
]

validates_presence_of :nombre

end


Luis, ya he dado con lo que era.

Al final “como supongo que es lo normal” el fallo era mío. La clave
estaba en el fichero new.rjs . Te pongo el código:

@options = { :scaffold_id => params[:scaffold_id], :action => “create”,
:id => generate_temporary_id }
@new_options = @options.merge(:action => “new”, :id => nil)
if @successful
page.insert_html :top, scaffold_tbody_id(@options), :partial =>
‘new_edit’
page.show element_row_id(@options)
page << “Form.focusFirstElement(‘#{element_form_id(@options)}’);”
page.visual_effect :highlight, element_cell_id(@options)
page.replace_html element_messages_id(@options), :partial =>
‘form_messages’
else
page.replace_html scaffold_messages_id(@options), :partial =>
‘messages’
end
page.hide loading_indicator_id(@new_options), empty_message_id(@options)

En la primera línea el “create” estaba puesto como “Create” con
mayúsculas. El tema fué que intentando traducir los botones y cabeceras
estándar que te genera AjaxScaffold cambié algunos literales y después
lo volví a dejar en Inglés, y puse en vez de “create”, “Create” y de ahí
todo el follón.

Lo he encontrado comparando el log dejado por otro formulario muy
similar que había realizado.

Agradecerte un montón todo el soporte, y que ya he aprendido a debuggear
un poco las aplicaciones en RoR.

La próxima vez casi para hacerlo más cómodo te pido el usuario de Skype
;—)))))))))))))

Repito: Muchísimas gracias…


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

On 2/7/07, Fernando González Macías [email protected] wrote:

He puesto el código que me has comentado y el comportamiento sigue
siendo el mismo. Borré el development.log e inicié WebRick y en el log
veo exactamente el mismo contenido. Las entradas de logger ¿debería
verlas en el development.log imagino, no? O quizás es en otro sitio
donde se registran las entradas de logger.

Sí, deberías verlas en development.log. Supongo que habrás puesto
logger.debug y no logger, que me confundí.
Prueba a poner en vez de logger.debug, puts. Con ese método se te
escribirían las cosas en la consola del servidor. A ver si te suelta
algo.
Y para ver si te funciona el logger, ponlo en create.rjs, antes de la
primera línea. Por ejemplo logger.debug (“Estoy en el rjs”)

Por otro lado, respecto a la foreign_key, no la tenía quitada. Pero la
he probado quitándola y sin quitarla y es lo mismo.

¿Realmente no hace falta entonces?

No hace falta si tu campo sigue las convenciones de RoR, es decir que el
nombre de la clave foránea sea el nombre de la tabla a la que referencia
terminado en _id.

Un apunte. En la línea siguiente generada en el log:

Parameters: {“commit”=>“Create”, “action”=>“Create”,
“id”=>“1170845105781”, “controller”=>“laptops”,

que está inmediatamente antes que la definición del contenido de los
campos que introduje por consola con éxito. El valor de este campo id,
¿en concreto a qué se refiere? Al valor que almacenará en el campo ip
autonumérico de la tabla. El campo id autonumérico se crea como int(11)
y este valor es un int(13). Supongo que no van por ahí los tiros, pero
por si acaso.

Saludos

Ese id es algo que utiliza AjaxScaffold no sé muy bien para qué. A ti el
que te interesa es, en caso de que existiera, el que hay en los
parámetros relativos a laptop ( en los parámetros que se envían sería
“laptop”=>{“id”=>…), pero al ser creación y no modificación, la id
se genera automáticamente cuando guardas.

Mira en tu modelo, que no creo que sea, pero yo normalmente las
validaciones las pongo al final del modelo. Que te quede así:

laptop.rb

require ‘ajax_scaffold’
class Laptop < ActiveRecord::Base

belongs_to :site, :foreign_key => “site_id”

@scaffold_columns = [
AjaxScaffold::ScaffoldColumn.new(self, { :name => “nombre”}),

AjaxScaffold::ScaffoldColumn.new(self, { :name => “site_id”,
:eval => “laptop.site.nombre”, :label => “Empresa”}),
AjaxScaffold::ScaffoldColumn.new (self, { :name => “marca”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “modelo”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “disco_duro”}),
AjaxScaffold:: ScaffoldColumn.new(self, { :name => “ram”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “fecha_alta”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “umts”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “num_movil”}),
AjaxScaffold::ScaffoldColumn.new(self, { :name => “observaciones”}),
]

validates_presence_of :nombre

end


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

Ahí va, perdona lo de las comillas. Inconvenientes de copy&paste :wink:

Vamos a ver, por ir descartando si entra realmente en el controlador.
Pon:

def create

logger(“entra en controlador”)
begin
@laptop = Laptop.new(params[:laptop])
logger(“crea objeto @laptop”)
@successful = @laptop.save!
logger(“guarda en base de datos”)
rescue
logger(“excepcion”)
flash[:error], @successful = $!.to_s, false
end

 return render(:action => 'create.rjs') if request.xhr?
 if @successful
   return_to_main
 else
   @options = { :scaffold_id => params[:scaffold_id], :action => 

“create” }
render :partial => ‘new_edit’, :layout => true
end
end

Y a ver que te da.

Otra cosa, quitaste lo de foreign_key => “site_id” en el modelo?

On 2/7/07, Fernando González Macías < [email protected]>
wrote:

      Gracias Imobach, por lo de las comillas.

      Con la corrección esta desde línea de comandos me ha generado 

correctamente el registro. Me lo ha añadido a la tabla.

      ¿Alguna idea entonces porque no lo hace desde la aplicación?

      Saludotes...


      ________________________________

      De: [email protected] en nombre de Imobach 

González Sosa
Enviado el: mié 2/7/2007 10:58
Para: [email protected]
Asunto: Re: [Ror-es] Problemas con campos con nombre
finalizados en _id

      El Wednesday 07 February 2007 09:33:40 Luis V. escribió:
      > Puedes poner el script de generación de la tabla laptop?
      >
      > Aparte haz una prueba: Pon en la consola  (en la raíz de la 

aplicación :
> ruby script/console):
> laptop = Laptop.new(site_id"=>“2”,
“num_movil”=>“2334324234234”,

      Cuidado con las comillas del site_id ("site_id" => "2").

      Saludos.

      --
      Imobach González Sosa
      correo-e: imobachgs en banot punto net
      jabber id: osoh en jabberes punto org
      web: http://www.banot.net/~osoh/
      blog: http://devnull.blogs.banot.net/
      _______________________________________________
      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 

http://lists.simplelogica.net/mailman/listinfo/ror-es


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