2012-07-16 9 views
5

Usando Grails 2.0.4. Al generar correos electrónicos, utilizo muchas imágenes con rutas absolutas. Cada uno da como resultado una entrada de registro molesta. ¿Hay una solución fácil? SI EXISTEN, parece que al plugin de recursos no le gustan los caminos absolutos. Esto ocurre fuera del entorno localhost/dev también.Grails entrada de registro de advertencia al usar imágenes con absoluto: verdadero

<img src="${resource(dir: 'images/brochure', file: 'arrow_up.png', absolute: 'true')}" alt="Up" /> 

resultados en

WARN resource.ResourceTagLib - Invocation of <r:resource> for a resource that apparently doesn't exist: http://localhost:8080/images/brochure/arrow_up.png 
+0

También estoy experimentando esto con Grails 2.3.4. ¿Encontraste alguna solución? – rcgeorge23

+0

Envié un problema al Grails JIRA: http://jira.grails.org/browse/GPRESOURCES-256 – Klemens

+0

Encontré una solución, vea mi propia respuesta – Peter

Respuesta

3

La solución que ha estado trabajando conmigo para Grails 2.1.xy superior (incluido el más nuevo 2.3.x) es agregar estas entradas a su bloque de configuración log4j en Config.groovy - no se necesitan otros cambios de código.

log4j = { 
      //your other stuff ... 
      error 'grails.app.services.org.grails.plugin.resource' 
      error 'grails.app.taglib.org.grails.plugin.resource' 
      error 'grails.app.resourceMappers.org.grails.plugin.resource' 
} 
-1

uou están utilizando plug-in 'Grails-recursos. También ha etiquetado 'recurso'. tratar de usar directa G-tag:

<img src="${g.resource(dir: 'images/brochure', file: 'arrow_up.png', absolute: 'true')}" alt="Up" /> 

o utilizar R-etiqueta plugin de recursos (recomendado):

<img src="${r.resource(uri: 'images/brochure/arrow_up.png')}" /> 

ampliar información here

+0

Esos dos simplemente delegan en el plugin de recursos – Peter

+1

no. utilicé el espacio de nombres para la definición directa. Si se instala resource-plugin, la etiqueta 'resource' está asociada con el espacio de nombres 'r' de forma predeterminada. – jenk

0

Sé que esto es una cuestión de edad, pero todavía parece ser un problema con Grails 2.3.x. Hay un comentario sobre el cierre de resource en ResourceTagLib que dice:

@todo este momento, no funcionará para absolutas = invocaciones "verdaderos", que debe ser sólo de paso a través éstos

el fin de eliminar la advertencias en el registro, me pasaron por encima del cierre resource, cambiando este bit:

... 
if (!info.debug && log.warnEnabled) { 
    log.warn "Invocation of <r:resource> for a resource that apparently doesn't exist: ${info.uri}" 
} 
... 

a esto:

... 
if (attrs.absolute != true && !info.debug && log.warnEnabled) { 
    log.warn "Invocation of <r:resource> for a resource that apparently doesn't exist: ${info.uri}" 
} 
... 
+2

¿Podría explicar dónde hizo este cambio? – nuoritoveri

0

Se parece ocurrir sólo cuando intenta utilizar un directorio secundario cuando se utiliza el parámetro dir. Debería especificar un uri. Supongo que dir solo puede ser un directorio de un solo nivel.

Usted podría intentar lo siguiente (de plugin docs):

<r:img uri="images/logo.png" width="100" height="50"/> 
Cuestiones relacionadas