Forum: Rails-ES Problema: Rails 2.1.1 y datetime_select

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
3bad218882602f4c35ea15adb3e5d5a4?d=identicon&s=25 Fernando Calatayud (fernan2)
on 2008-10-15 14:29
Hola, estoy pasando un código antiguo a una aplicación Rails 2.1.1, y me
encuentro con lo que parece ser un fallo de esta versión de rails al
tratar con datetime_select:

<% form_for(:usuario, :html => { :method => :post }) do |f| %>
  <%= f.datetime_select :ultimo_acceso %>

wrong number of arguments (4 for 3)

/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/action_view/helpers/date_helper.rb:707:in
`datetime_select'

/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/action_view/helpers/date_helper.rb:707:in
`datetime_select'

app/views/usuarios/editar.html.erb:96:in
`_run_erb_47app47views47usuarios47editar46html46erb'

app/views/usuarios/editar.html.erb:8:in
`_run_erb_47app47views47usuarios47editar46html46erb'

/opt/local/bin/mongrel_rails:19:in `load'

/opt/local/bin/mongrel_rails:19

y lo más curioso del caso es que tampoco sale nada googleando:
datetime_select "wrong number of arguments (4 for 3)"

¿A vosotros os va bien el datetime_select en rails 2.1.1? ¿O está
deprecated y hay que usar algún sustituto???

s2
E840f61fb1814fd454114aa1e1876b19?d=identicon&s=25 Juan Moreno (elgocho)
on 2008-10-15 14:59
Fernando Calatayud wrote:
> Hola, estoy pasando un código antiguo a una aplicación Rails 2.1.1, y me
> encuentro con lo que parece ser un fallo de esta versión de rails al
> tratar con datetime_select:
>
> <% form_for(:usuario, :html => { :method => :post }) do |f| %>
>   <%= f.datetime_select :ultimo_acceso %>
>
> wrong number of arguments (4 for 3)
>
Hola Fernando, te informo que el código que tienes funciona bien en
Rails 2.1 pues tengo un código exacto al tuyo y no me da error recuerda
que cuando tienes el erro wrong number of arguments (4 for 3) es por que
en tu tag tienes mas atributos de lo debidos, pero en tu caso esta bien,
si el código que envías es exactamente lo que tienes en tu app debe
funcionar!!!! Saludos
3bad218882602f4c35ea15adb3e5d5a4?d=identicon&s=25 Fernando Calatayud (fernan2)
on 2008-10-15 16:18
> Hola Fernando, te informo que el código que tienes funciona bien en
> Rails 2.1 pues tengo un código exacto al tuyo y no me da error recuerda
> que cuando tienes el erro wrong number of arguments (4 for 3) es por que
> en tu tag tienes mas atributos de lo debidos, pero en tu caso esta bien,
> si el código que envías es exactamente lo que tienes en tu app debe
> funcionar!!!! Saludos

Efectivamente, funciona bien en Rails 2.1... y mal en Rails 2.1.1. Al
menos en mi caso, es así...

s2
3bad218882602f4c35ea15adb3e5d5a4?d=identicon&s=25 Fernando Calatayud (fernan2)
on 2008-10-21 13:10
Fernando Calatayud wrote:
> Hola, estoy pasando un código antiguo a una aplicación Rails 2.1.1, y me
> encuentro con lo que parece ser un fallo de esta versión de rails al
> tratar con datetime_select:
>
> <% form_for(:usuario, :html => { :method => :post }) do |f| %>
>   <%= f.datetime_select :ultimo_acceso %>
>
> wrong number of arguments (4 for 3)
>
> 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/action_view/helpers/date_helper.rb:707:in
> `datetime_select'
>
> 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/action_view/helpers/date_helper.rb:707:in
> `datetime_select'
>
> app/views/usuarios/editar.html.erb:96:in
> `_run_erb_47app47views47usuarios47editar46html46erb'
>
> app/views/usuarios/editar.html.erb:8:in
> `_run_erb_47app47views47usuarios47editar46html46erb'
>
> /opt/local/bin/mongrel_rails:19:in `load'
>
> /opt/local/bin/mongrel_rails:19
>
> y lo más curioso del caso es que tampoco sale nada googleando:
> datetime_select "wrong number of arguments (4 for 3)"
>
> ¿A vosotros os va bien el datetime_select en rails 2.1.1? ¿O está
> deprecated y hay que usar algún sustituto???
>
> s2

El problema está ya localizado: se trata del plugin l10n-simplified, que
"intercepta" el datetime_select, y al parecer no está adaptado a rails
2.1.1; he creado un proyecto nuevo y he ido añadiendo los plugins que
uso, y al añadir éste el datetime_select ha dejado de funcionar.

s2
3bad218882602f4c35ea15adb3e5d5a4?d=identicon&s=25 Fernando Calatayud (fernan2)
on 2008-10-21 13:22
> El problema está ya localizado: se trata del plugin l10n-simplified, que
> "intercepta" el datetime_select, y al parecer no está adaptado a rails
> 2.1.1; he creado un proyecto nuevo y he ido añadiendo los plugins que
> uso, y al añadir éste el datetime_select ha dejado de funcionar.
>
> s2

Por cierto, la solución es ir al archivo localization_simplified.rb, y
cambiar
def datetime_select(object_name, method, options = {})
por
def datetime_select(object_name, method, options = {}, html_options =
{})

por si a alguien más le pasa...

s2
F625b891618be8ec32547a07b3192bb0?d=identicon&s=25 Francesc Esplugas (fesplugas)
on 2008-10-21 13:29
(Received via mailing list)
Podrias mandarle un parche al autor del plugin. ;)

Igualmente comentar que en vez de modificar el plugin es interasante
sobrescribir ese método desde nuestra aplicación. Creo que es más
limpio y puede evitarnos futuros dolores de cabeza si algun dia
decidimos actualizar el plugin.

On 21/10/2008, at 13:22, Fernando Calatayud
<ruby-forum-incoming@andreas-s.net
This topic is locked and can not be replied to.