Problemas validando en rails 2.3.2 con gibberish


#1

Hola a todos,

me llamo Javier y estoy encantado de presentarme ante todos vosotros.
Soy
más o menos reciente en esto de rails, aunque estoy realmente encantado
con
él :-D.

Me ha surgido el siguiente problema y quería saber si alguien más se ha
encontrado con él. El tema es que las validaciones me han dejado de
funcionar al instalar el plugin Gibberish para multiidioma.

Tengo un modelo con el típico validates_presecence_of :name. Si intento
salvar un objeto sin dicho atributo, me salta una excepción del tipo
ArgumentError.

Estoy utilizando la versión 2.3.2 de rails.

A continuación os pego la excepción que me da la aplicación. Muchas
gracias
por cualquier tipo de ayuda o consejo!

ArgumentError in ProvidersController#create

wrong number of arguments (3 for 2)

RAILS_ROOT: /home/javier/proyectos/rails/scsupplier
Application Trace http://localhost:3000/providers# | Framework
Tracehttp://localhost:3000/providers#| Full
Trace http://localhost:3000/providers#

/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:66:in
add' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:66:inadd_on_blank’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:64:in
each' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:64:inadd_on_blank’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:518:in
validates_presence_of' /home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:incall’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in
evaluate_method' /home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:166:incall’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in
run' /home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:ineach’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in
send' /home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:inrun’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activesupport/lib/active_support/callbacks.rb:276:in
run_callbacks' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:1029:invalid_without_callbacks?’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/callbacks.rb:315:in
valid?' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/validations.rb:1008:insave_without_dirty’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/dirty.rb:79:in
save_without_transactions' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:229:insend’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in
with_transaction_returning_status' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:intransaction’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in
transaction' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:228:inwith_transaction_returning_status’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in
save' /home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:208:inrollback_active_record_state!’
/home/javier/proyectos/rails/scsupplier/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in
save' /home/javier/proyectos/rails/scsupplier/app/controllers/providers_controller.rb:35:increate’
/home/javier/proyectos/rails/scsupplier/app/controllers/application_controller.rb:31:in
set_language' /home/javier/proyectos/rails/scsupplier/app/controllers/application_controller.rb:31:inset_language’


#2

Hola,

me han dejado de funcionar al instalar el plugin Gibberish para
multiidioma.
Estoy utilizando la versión 2.3.2 de rails.
Si no estás usando código legacy que tenga que usar por fuerza
Gibberish, yo usaría directamente i18n y me quitaría Gibberish de en medio.

http://guides.rubyonrails.org/i18n.html

saludos,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#3

Es lo que había estado viendo por los foros. Cambiaré a i18n y listos…

Muchas gracias!

El 4 de mayo de 2009 22:06, javier ramirez removed_email_address@domain.invalid
escribió:


#4

Javier L. dijo [Mon, May 04, 2009 at 11:00:28PM +0200]:

Es lo que había estado viendo por los foros. Cambiaré a i18n y listos…

Toma en cuenta que la misma gente desarrolladora de Rails hace énfasis
en que i18n es una solución mínima funcional, y muchas veces te
convendrá más usar un marco más amplio de traducciones. No te puedo
recomendar Gibberish (lo evalué hace mucho, y a fin de cuentas terminé
descartándolo, no recuerdo a ciencia cierta qué no me gustó)… Pero
mi favorita sigue siendo GetText.

Saludos,


Gunnar W. - removed_email_address@domain.invalid - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF