[Ror-es] problemas observe_field - crea registros en tabla de modelo

Juanjo Bazán jjbazan at gmail.com
Sun Jun 29 10:07:30 GMT 2008


Al haber declarado Paciente como resource, automaticamente rails le asigna
el comportamiento por defecto de los recursos REST, es decir que una
petición por post a /pacientes se mapea a create. Así que la diferencia
entre las peticiones a index y a create es simplemente el método por el que
llega la petición: get va a index y por post va a create.

En tu observ_field has declarado la url así: :url=>{:action=> create} , pues
bien, eso no esta enviando la petición a la acción index, sino a la url de
la acción index, que es la misma que la de create, así que si los datos van
por post(que es la opción por defecto de las llamadas Ajax de prototype),
llegan a create.

Sí como dices ese mismo código funciona perfectamente en otro controlador
seguramente es porque en ese otro caso no se trata de un recurso rest que
tengas declarado en el routes como resource.

Así que la solución es fácil, o envias la petición a una acción diferente, o
le dices al Ajax que method=>get
Otra opción es utilizar el plugin auto_complete

Salu2!
Juanjo


2008/6/29 David Villa <ruby-forum-incoming at andreas-s.net>:

> Fernando Guillen wrote:
> > El d�a 29 de junio de 2008 4:02, David Villa
> > <ruby-forum-incoming at andreas-s.net>
> >escribi�:>
> > Pues no hay manera, llevo toda la noche mirando , y empieza a hacer la
> >> busqueda, es decir, si tengo un registro de nombre Mikel, seg�n empiezo
> >> a poner la letra M, el javascript entra en acci�n , y en vez de buscar ,
> >> veo que empieza a crear campos null en la base de datos......
> >
> > No me hagas mucho caso.. pero: �puede ser que se est� invocando a la
> > acci�n del Controller equivocada?
> >
> > No s�.. igual a la create o algo, por alg�n rollo raro de routes.rb
> >
> > Suerte
> > f.
>
> Por ahí también pienso yo que van los tiros, pero lo único que tengo en
> routes es la parte que he copiado arriba :
>
> ----
>  map.resources :pacientes do |paciente|
>   paciente.resources :gacelas
>   paciente.resources :tratamientos, :member => { :quitar => :put }
> ,:collection => {:todos => :get , :informe => :get}
>   paciente.resources :tareas
>  end
> -------
>
> y la parte pacientes , genera con rake routes lo siguiente :
>
> --------
>  pacientes GET    /pacientes
> {:action=>"index", :controller=>"pacientes"}
>                    formatted_pacientes GET    /pacientes.:format
> {:action=>"index", :controller=>"pacientes"}
>                                        POST   /pacientes
> {:action=>"create", :controller=>"pacientes"}
>                                        POST   /pacientes.:format
> {:action=>"create", :controller=>"pacientes"}
>                           new_paciente GET    /pacientes/new
> {:action=>"new", :controller=>"pacientes"}
>                 formatted_new_paciente GET    /pacientes/new.:format
> {:action=>"new", :controller=>"pacientes"}
>                          edit_paciente GET    /pacientes/:id/edit
> {:action=>"edit", :controller=>"pacientes"}
>                formatted_edit_paciente GET
> /pacientes/:id/edit.:format
> {:action=>"edit", :controller=>"pacientes"}
>                               paciente GET    /pacientes/:id
> {:action=>"show", :controller=>"pacientes"}
>                     formatted_paciente GET    /pacientes/:id.:format
> {:action=>"show", :controller=>"pacientes"}
>                                        PUT    /pacientes/:id
> {:action=>"update", :controller=>"pacientes"}
>                                        PUT    /pacientes/:id.:format
> {:action=>"update", :controller=>"pacientes"}
>                                        DELETE /pacientes/:id
> {:action=>"destroy", :controller=>"pacientes"}
>                                        DELETE /pacientes/:id.:format
> -------
>
> Lo único que se me ocurre, es que el javascript esté pasando
> continuamente peticiones POST....pero ese mismo codigo , sobre otro
> modelo y controlador, funciona correctamente, entonces, me rommpe todos
> los esquemas...
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.simplelogica.net/pipermail/ror-es/attachments/20080629/caa76f4b/attachment.htm 


More information about the Ror-es mailing list