|
|
Subject: Re: Errores personalizados - msg#00032
List: lang.ruby.rails.spanish
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?
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=======================================
|
|