2010-04-04 20 views
7

Dentro de una aplicación de grial, necesito cargar un archivo en la aplicación web/js, agregar un prefijo y ponerlo en S3. Tengo problemas para descifrar cómo leer el archivo js de una manera que funcione en desarrollo (/ web-app/js) y producción (/ js). Lo hago desde dentro de un objeto de dominio.Leer un archivo de la aplicación web

Respuesta

8

En los controladores, puede llamar a:

def jsFolder = grailsAttributes.getApplicationContext().getResource("js/").getFile() 

y luego proceder con jsFolder. para determinar el directorio de base de una aplicación Grails está ejecutando, uso

String dir = applicationContent.getResource("/").getFile() 

Conseguir el camino js de un servicio es un poco complicado:

Es necesario implementar la interfaz ApplicationContextAware así:

class MyService implements ApplicationContextAware { 
ApplicationContext applicationContext 

Sin embargo, llamar a este código desde una clase de dominio no es una buena idea (vea esto thread para algunas explicaciones) y ni siquiera estoy seguro de si es posible, excepto de obtener rutas de manual configuraciones

Espero que ayude.

Cuestiones relacionadas