osdir.com
mailing list archive

Subject: Re: Errores personalizados - msg#00032

List: lang.ruby.rails.spanish

Date: Prev Next Index Thread: Prev Next Index
Yo también uso un fichero como el de traducciones.rb con el siguiente contenido:

------------

Inflector.inflections do |inflect|
inflect.plural /$/, 'es'
inflect.plural /s$/, 's'
inflect.plural /z$/i, 'ces'
inflect.plural /([aeiou])$/i, '\1s'
inflect.plural /_(.*)$/, 's_\1'

inflect.singular /s$/i, ''
inflect.singular /ces$/i, 'z'
inflect.singular /(.*)s_(.*)/i, '\1_\2'

inflect.irregular 'user', 'users'
inflect.irregular 'estado_civil', 'estados_civiles'

inflect.uncountable %w( pantalones ) # xD
end

class ActiveRecord::Errors
def full_messages
full_messages = []

-/c10q2ZoY/Zbj60gHklGcw@xxxxxxxxxxxxxxxxxxxx do |attr|
@errors[attr].each do |msg|
next if msg.nil?

if attr == "base"
full_messages << msg
else
# full_messages <<
@base.class.human_attribute_name(attr) + " " + msg
full_messages << msg
end
end
end

return full_messages
end
end

module ActionView
module Helpers
module ActiveRecordHelper
# Ayudante para mostrar el contenido del flash
def mostrar_flash
return if @flash.empty?
a = ''
-obyM1MwFSJ9yDzI6CaY1VQ@xxxxxxxxxxxxxxxx do |i|
a << "<div id=\"flash-div\"
class=\"flash-#{i[0]}\"
style=\"display:none\">"
a << '<p><strong
class="alerta">Aviso:</strong> ' + i[-1] + '</p>'
a << '</div>'
end
a
end

alias :show_flash :mostrar_flash

def error_messages_for(object_name, options = {})
options = options.symbolize_keys
object =
instance_variable_get("@#{object_name}")
unless object.errors.empty?
content_tag("div",
content_tag(

options[:header_tag] || "h2",
"El
#{object_name.to_s.gsub("_", " ")} no puede ser guardado."
) +
content_tag("p", "Se
encontraron los siguientes errores:") +
content_tag("ul",
object.errors.full_messages.collect { |msg|
content_tag("li", msg) }),
"id" => options[:id] ||
"errorExplanation", "class" =>
options[:class] || "errorExplanation"
)
end
end
end
end
end


class Time
# Formateo corto de una fecha
def short_format
self.strftime("%Y-%m-%d")
end
end

-------------

Funciona para rails 0.14.x, a tener en cuenta:
* Como no muestro el nombre del campo en el mensaje de error tengo
que reescribir todos los mensajes de error para dar un mensaje con
sentido.
* Se da por hecho que en el flash sólo hay un mensaje por cada índice del hash

Y bueno, eso es lo que hay.

Saludos.

El 9/11/05, Luis José Da Silva
González<luisjoseve-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx> escribió:
> Gracias.
>
> El 9/11/05, Vicente
> Reig<vicente.reig-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx> escribió:
> > Hi,
> > yo tengo esto en mi environment.rb:
> >
> > ActiveRecord::Errors.default_error_messages = {
> > :inclusion => "no está incluido en la lista",
> > :exclusion => "es un campo reservado",
> > :invalid => "no es válido",
> > :confirmation => "no está confirmado",
> > :accepted => "debe ser aceptado",
> > :empty => "no puede estar vacío",
> > :too_long => "es demasiado largo (%d caracteres como máximo)",
> > :too_short => "es demasiado corto (%d caracteres como mínimo)",
> > :wrong_length => "debe tener %d caracteres",
> > :taken => "ya se ha selecccionado",
> > :not_a_number => "no es un número"
> > }
> >
> > Que viene a ser más o menos lo mismo que lo que hace Vicente.
> >
> > Un saludo, Vicente. (es decir yo :-) )
> >
> >
> > On 11/9/05, Vicente Gallur Valero
> > <vicente-niqnJlLRkN0e0+HN90qZ9NBPR1lH4CV8@xxxxxxxxxxxxxxxx> wrote:
> > > >
> > > >
> > > >Me imagino que a todos nostros no nos conviene mucho el mensaje de
> > > >notificación de errores en los forms por validación, 1 error
> > > >prohibited .... etc etc, alguno de ustedes sabe cómo cambiar ese
> > > >mensaje a español?
> > > >
> > >
> > > De momento yo tengo un archivo traducciones.rb en /lib semejante a esto:
> > >
> > >
> > Date::MONTHNAMES=["","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]
> > >
> > > module ActiveRecord
> > > class Errors
> > > begin
> > > @@default_error_messages = {
> > > :inclusion => "no está incluido en la lista",
> > > :exclusion => "está reservado",
> > > :invalid => "no es válido",
> > > :confirmation => "no es una confirmacion",
> > > :accepted => "debe ser aceptado",
> > > :empty => "no puede estar vacío",
> > > :blank => "no puede estar en blanco",
> > > :too_long => "es demasiado largo (máximo %d caracteres)",
> > > :too_short => "es demasiado corto (mínimo %d caracteres)",
> > > :wrong_length => "no tiene la longitud correcta (debería tener %d
> > > caracteres)",
> > > :taken => "ya ha sido escogido",
> > > :not_a_number => "debe ser un número",
> > > }
> > > end
> > > end
> > > end
> > >
> > >
> > > module ActionView #nodoc
> > > module Helpers
> > > module ActiveRecordHelper
> > > def error_messages_for(object_name, options = {})
> > > options = options.symbolize_keys
> > > object = instance_variable_get("@#{object_name}")
> > > unless object.errors.empty?
> > > content_tag("div",
> > > content_tag(
> > > options[:header_tag] || "h2",
> > > "Hay errores que impiden guardar el registro"
> > > ) +
> > > content_tag("p", "Compruebe los siguientes campos:") +
> > > content_tag("ul",
> > object.errors.full_messages.collect {
> > > |msg| content_tag("li", msg) }), "id" => options[:id] ||
> > > "errorExplanation", "class" => options[:class] || "errorExplanation" )
> > > end
> > > end
> > > end
> > > end
> > > end
> > >
> > > y en /controllers/application.rb lo incluyo:
> > >
> > > require 'traducciones'
> > >
> > > --
> > > Vicente Gallur Valero
> > > http://www.vgcomunicacion.com
> > >
> > > _______________________________________________
> > > Ror-es mailing list
> > > Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx
> > > http://lists.simplelogica.net/mailman/listinfo/ror-es
> > >
> >
> >
> >
> > --
> > Vicente Reig Rincón de Arellano
> > http://weblogs.javahispano.org/page/vitxo/
> > _______________________________________________
> > Ror-es mailing list
> > Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx
> > http://lists.simplelogica.net/mailman/listinfo/ror-es
> >
> >
> >
>
>
> --
> Luis José Da Silva G.
> _______________________________________________
> Ror-es mailing list
> Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>


--
------------------------------------------
David Siñuela Pastor (siu)
http://www.4coders.com
Jabber: siu-tVMmVOZxw5Bg9hUCZPvPmw@xxxxxxxxxxxxxxxx


Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

Re: Errores personalizados

Gracias. El 9/11/05, Vicente Reig<vicente.reig-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx> escribió: > Hi, > yo tengo esto en mi environment.rb: > > ActiveRecord::Errors.default_error_messages = { > :inclusion => "no está incluido en la lista", > :exclusion => "es un campo reservado", > :invalid => "no es válido", > :confirmation => "no está confirmado", > :accepted => "debe ser aceptado", > :empty => "no puede estar vacío", > :too_long => "es demasiado largo (%d caracteres como máximo)", > :too_short => "es demasiado corto (%d caracteres como mínimo)", > :wrong_length => "debe tener %d caracteres", > :taken => "ya se ha selecccionado", > :not_a_number => "no es un número" > } > > Que viene a ser más o menos lo mismo que lo que hace Vicente. > > Un saludo, Vicente. (es decir yo :-) ) > > > On 11/9/05, Vicente Gallur Valero > <vicente-niqnJlLRkN0e0+HN90qZ9NBPR1lH4CV8@xxxxxxxxxxxxxxxx> wrote: > > > > > > > > >Me imagino que a todos nostros no nos conviene mucho el mensaje de > > >notificación de errores en los forms por validación, 1 error > > >prohibited .... etc etc, alguno de ustedes sabe cómo cambiar ese > > >mensaje a español? > > > > > > > De momento yo tengo un archivo traducciones.rb en /lib semejante a esto: > > > > > Date::MONTHNAMES=["","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"] > > > > module ActiveRecord > > class Errors > > begin > > @@default_error_messages = { > > :inclusion => "no está incluido en la lista", > > :exclusion => "está reservado", > > :invalid => "no es válido", > > :confirmation => "no es una confirmacion", > > :accepted => "debe ser aceptado", > > :empty => "no puede estar vacío", > > :blank => "no puede estar en blanco", > > :too_long => "es demasiado largo (máximo %d caracteres)", > > :too_short => "es demasiado corto (mínimo %d caracteres)", > > :wrong_length => "no tiene la longitud correcta (debería tener %d > > caracteres)", > > :taken => "ya ha sido escogido", > > :not_a_number => "debe ser un número", > > } > > end > > end > > end > > > > > > module ActionView #nodoc > > module Helpers > > module ActiveRecordHelper > > def error_messages_for(object_name, options = {}) > > options = options.symbolize_keys > > object = instance_variable_get("@#{object_name}") > > unless object.errors.empty? > > content_tag("div", > > content_tag( > > options[:header_tag] || "h2", > > "Hay errores que impiden guardar el registro" > > ) + > > content_tag("p", "Compruebe los siguientes campos:") + > > content_tag("ul", > object.errors.full_messages.collect { > > |msg| content_tag("li", msg) }), "id" => options[:id] || > > "errorExplanation", "class" => options[:class] || "errorExplanation" ) > > end > > end > > end > > end > > end > > > > y en /controllers/application.rb lo incluyo: > > > > require 'traducciones' > > > > -- > > Vicente Gallur Valero > > http://www.vgcomunicacion.com > > > > _______________________________________________ > > Ror-es mailing list > > Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx > > http://lists.simplelogica.net/mailman/listinfo/ror-es > > > > > > -- > Vicente Reig Rincón de Arellano > http://weblogs.javahispano.org/page/vitxo/ > _______________________________________________ > Ror-es mailing list > Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx > http://lists.simplelogica.net/mailman/listinfo/ror-es > > > -- Luis José Da Silva G.

Next Message by Date: click to view message preview

Re: InternacionalizaciÃn

A mi me interesa mucho este tema y he probado ya varios de las tutorias que he visto por allÃ. Gettext y demÃs son una buena opciÃn mÃs que nada porque ahora parece que mÃs menos funcionan pero yo creo que la opciÃn que tiene mÃs futuro es algo parecido a la opciÃn tuxsoft porque tiene que ser sÃlo un par de pasos desde esa soluciÃn a almacenar las traducciones y opciones de idioma en una base de datos (a la VBulletin) y asà empezar a aprovechar lo que rails hace tan bien: interactuar con bases de datos. A mi me gustarÃa ver un sistema dÃnde se hiciese asà para que fuese fÃcil para usuarios, administradores y traductores interactuar con mis aplicaciones. El tema de vistas distintas sÃlo tendrÃa porque ser un problema y opciÃn si hay que cambiar la direcciÃn de idioma o alguna cosa asÃ. (D>I en vez de I>D o los idiomas asÃaticos con sus pictogramas y demÃs). TambiÃn estoy trabajando en una iniciativa similar, esta opciÃn presenta mayor flexibilidad a la hora de actualizar a cualquier idioma por parte de una persona que no conozca nada del sistema, ni sea desarrollador, ni tenga acceso al servidor directamente. BenjamÃn CÃrdenas Salamandra Bogotà - Colombia

Previous Message by Thread: click to view message preview

Re: Errores personalizados

Gracias. El 9/11/05, Vicente Reig<vicente.reig-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx> escribió: > Hi, > yo tengo esto en mi environment.rb: > > ActiveRecord::Errors.default_error_messages = { > :inclusion => "no está incluido en la lista", > :exclusion => "es un campo reservado", > :invalid => "no es válido", > :confirmation => "no está confirmado", > :accepted => "debe ser aceptado", > :empty => "no puede estar vacío", > :too_long => "es demasiado largo (%d caracteres como máximo)", > :too_short => "es demasiado corto (%d caracteres como mínimo)", > :wrong_length => "debe tener %d caracteres", > :taken => "ya se ha selecccionado", > :not_a_number => "no es un número" > } > > Que viene a ser más o menos lo mismo que lo que hace Vicente. > > Un saludo, Vicente. (es decir yo :-) ) > > > On 11/9/05, Vicente Gallur Valero > <vicente-niqnJlLRkN0e0+HN90qZ9NBPR1lH4CV8@xxxxxxxxxxxxxxxx> wrote: > > > > > > > > >Me imagino que a todos nostros no nos conviene mucho el mensaje de > > >notificación de errores en los forms por validación, 1 error > > >prohibited .... etc etc, alguno de ustedes sabe cómo cambiar ese > > >mensaje a español? > > > > > > > De momento yo tengo un archivo traducciones.rb en /lib semejante a esto: > > > > > Date::MONTHNAMES=["","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"] > > > > module ActiveRecord > > class Errors > > begin > > @@default_error_messages = { > > :inclusion => "no está incluido en la lista", > > :exclusion => "está reservado", > > :invalid => "no es válido", > > :confirmation => "no es una confirmacion", > > :accepted => "debe ser aceptado", > > :empty => "no puede estar vacío", > > :blank => "no puede estar en blanco", > > :too_long => "es demasiado largo (máximo %d caracteres)", > > :too_short => "es demasiado corto (mínimo %d caracteres)", > > :wrong_length => "no tiene la longitud correcta (debería tener %d > > caracteres)", > > :taken => "ya ha sido escogido", > > :not_a_number => "debe ser un número", > > } > > end > > end > > end > > > > > > module ActionView #nodoc > > module Helpers > > module ActiveRecordHelper > > def error_messages_for(object_name, options = {}) > > options = options.symbolize_keys > > object = instance_variable_get("@#{object_name}") > > unless object.errors.empty? > > content_tag("div", > > content_tag( > > options[:header_tag] || "h2", > > "Hay errores que impiden guardar el registro" > > ) + > > content_tag("p", "Compruebe los siguientes campos:") + > > content_tag("ul", > object.errors.full_messages.collect { > > |msg| content_tag("li", msg) }), "id" => options[:id] || > > "errorExplanation", "class" => options[:class] || "errorExplanation" ) > > end > > end > > end > > end > > end > > > > y en /controllers/application.rb lo incluyo: > > > > require 'traducciones' > > > > -- > > Vicente Gallur Valero > > http://www.vgcomunicacion.com > > > > _______________________________________________ > > Ror-es mailing list > > Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx > > http://lists.simplelogica.net/mailman/listinfo/ror-es > > > > > > -- > Vicente Reig Rincón de Arellano > http://weblogs.javahispano.org/page/vitxo/ > _______________________________________________ > Ror-es mailing list > Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@xxxxxxxxxxxxxxxx > http://lists.simplelogica.net/mailman/listinfo/ror-es > > > -- Luis José Da Silva G.

Next Message by Thread: click to view message preview

Plantillas y Javascript

Buenas a to2, Lo que les quiero preguntar es una cosa un tanto simple, pero llevo con esto un par de semanas y sigo sin verle ninguna lógica. Quizás ustedes me puedan orientar en lo que está pasando. Tengo un modelo, una vista y desde la vista uso una plantilla. En principio todo debería de funcionar bien, es más si uso solo la vista obtengo el resultado que quiero, pero si en la plantilla incluyo codigo eRb, parece que no quiere interpretarlo.        <%= @content_for_layout %>        <%= stylesheet_link_tag("basic", :media => "all") Estas sentencias las muestra en el código fuente como si fueran texto html, y no como ruby. ¿Alguien sabe a que puede ser debido? Saludos y gracias por adelantado, FeR -- =======================================                   Fernando Martín Santana------------------------------------------------------------------------------  mail:            FernandoMartinSantana-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx  mobile:        +81-080-6564-7534   blog:            http://fer-martin.blogspot.com  mobile mail: fermartin-Pcq/GPd7InF3+QwDJ9on6Q@xxxxxxxxxxxxxxxx=======================================
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by