Es esto un bug de ror que deberia ser reportado?

pues para no hacerlas largas tengo una forma algo compleja que por ahi
tenia
lo siguiente

  • Lunes
  • Martes
  • Miercoles
  • Jueves
  • Viernes
  • Sabado
  • Domingo
en realidad no me preocupaba que tuviera el mismo nombre todos los inputs porque esos checkbox solo sirven localmente para crear unos objetos js y con la lista de objetos js creados se altera un contenido de un input hidden el problema es que si dejaba seleccionado algun checkbox de esos me tiraba error 500 internal server error lo cual me provoco estar revisando por todos lados hasta que tope con que era eso de que todos tenian el mismo nombre (name) en cuanto puse dia1 .. dia7 ya no hubo problema

esa cosa me provoco 1 hora de sufrimiento y ganas de suicidarme (ahh
broma
xD)
no se si el bug sea solo por webrick porque solo lo probe localmente
digo si eso es llamado bug.

la razon del mail es saber su opinion respecto a si ese problema es un
bug
que deberia ser reportado o algo asi
porque considero algo muy pasado que algo como poner 7 inputs con el
mismo
nombre cause un error 500 y ya no haga nada

bueno que opinan ustedes?

Ing. Omar S. Jimenez Becerra

2008/7/25 Omar J. [email protected]:

esa cosa me provoco 1 hora de sufrimiento y ganas de suicidarme (ahh broma

Ing. Omar S. Jimenez Becerra

En HTML los checkboxes pueden tener el mismo atributo name, mientras
que no tengan el mismo atributo value.

He hecho la prueba en Webrick, obteniendo un código para los
checkboxes igual que el tuyo, y no sucede nada. De forma que el error
500 debe de estar en tú código, no en como el servidor trata eso (que
de hecho, Webrick ni lo debe de tocar).

Suerte.

No no esta en mi codigo, como te digo en cuanto cambie eso ya funciono
quizas porque tu lo probaste solo con esos inputs
en mi caso tengo muchos muchos mas no se si eso tenga que ver pero te
repito
que en cuanto les puse nombres diferentes
todo fue bien, no cambie ninguna otra cosa de hecho si regreso los
nombres a
iguales vuelve el error 500
corro sobre windows vista basic
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
Rails 2.0.2
[2008-07-25 17:25:04] INFO WEBrick 1.3.1
esto es lo que marca:
/!\ FAILSAFE /!\ Fri Jul 25 13:28:52 -0500 2008
Status: 500 Internal Server Error
Conflicting types for parameter containers. Expected an instance of
Hash
but found an instance of String. This can be caused by colliding Array
and
Hash parameters like qs[]=value&qs[key]=value.

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:691:in
`type_conflict!’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:655:in
`container’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:646:in
`post_key_check’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:622:in
`parse’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:609:in
`initialize’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:609:in
`each’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:609:in
`initialize’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:416:in
`new’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:416:in
`parse_query_parameters’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:381:in
`parse_formatted_request_parameters’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/cgi_process.rb:78:in
`request_parameters’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:287:in
`parameters’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:22:in
`request_method’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/request.rb:35:in
`method’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1483:in
`extract_request_environment’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1424:in
`recognize’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:170:in
`handle_request’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in
`dispatch’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in
`dispatch_cgi’

C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in
dispatch' C:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:112:inhandle_dispatch’
C:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in
service' C:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:inservice’
C:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in run' C:/ruby/lib/ruby/1.8/webrick/server.rb:173:instart_thread’
C:/ruby/lib/ruby/1.8/webrick/server.rb:162:in start' C:/ruby/lib/ruby/1.8/webrick/server.rb:162:instart_thread’
C:/ruby/lib/ruby/1.8/webrick/server.rb:95:in start' C:/ruby/lib/ruby/1.8/webrick/server.rb:92:ineach’
C:/ruby/lib/ruby/1.8/webrick/server.rb:92:in start' C:/ruby/lib/ruby/1.8/webrick/server.rb:23:instart’
C:/ruby/lib/ruby/1.8/webrick/server.rb:82:in start' C:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:indispatch’

C:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66
C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
gem_original_require' C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:inrequire’

C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in
`require’

C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in
`new_constants_in’

C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in
require' C:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39 C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:ingem_original_require’
C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require’
script/server:3

El día 25 de julio de 2008 15:29, Daniel R. Troitiño <
[email protected]> escribió:

2008/7/26 Omar J. [email protected]:

esto es lo que marca:
/!\ FAILSAFE /!\ Fri Jul 25 13:28:52 -0500 2008
Status: 500 Internal Server Error
Conflicting types for parameter containers. Expected an instance of Hash
but found an instance of String. This can be caused by colliding Array and
Hash parameters like qs[]=value&qs[key]=value.

He conseguido reproducir ese error cuando utilizo una cadena como:

?dia=abc&dia[]=on&commit=Save+changes

(aunque con tú código solo conseguía cadenas dia=on&dia=on&dia=on…,
pero bueno).

Parece ser que Rails toma cada parámetro y lo evalua para ver que le
sigue: si es “[]” lo considera un Array, si es “[a]” (donde “a” puede
ser cualquier cosa) lo considera un Hash, si es un “=” es un String.
Si primero encuentra uno, y luego otro provoca ese error.

No me parece que sea un error de Rails, ya que el que manda la
querystring es el navegador, y lo que envia el navegador se lo dice el
programador. Comprueba con Firebug o Live HTTP Headers cual es el
querystring que envias al servidor y mira que no haya dos parámetros
con el mismo nombre y diferentes tipos (posiblemente el parámetro que
tengas que mirar sea “dia”).

Suerte.