Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

.save() en un filtro. ¿Es posible?

itubal - lunes 05/04/2010

Holas:

estoy intentando que en cada acción que el usuario haga me modifique un achivo de log. He escrito este código, pero.. me da un error. Seguramente tendré que importar algo ¿?¿? Estoy perdido aún.

class LogbookFilters {

   def filters = {
  
      saveLogbookFilter (controller:"*", action:"*") {
         
          before = {
         
              if(session.log) {
//              miLogbook = new Logbook()
              miLogbook = Logbook.get(session.log.id)
              miLogbook.salida= new Date()
              miLogbook.save(flush:true)
              println miLogbook
              }
              else
              print "session.logbook es null"
          }
      }
   }
}

 

El error que me da es:

Error 500:
Servlet: default
URI: /educativo/
Exception Message: No such property: Logbook for class: LogbookFilters
Caused by: Error mapping onto view [/index]: No such property: Logbook for class: LogbookFilters
Class: LogbookFilters
At Line: [11] 

Gracias

 

Re: .save() en un filtro. ¿Es posible?

Nacho - lunes 05/04/2010
¿Puedes poner el código de Logbook?

Re: .save() en un filtro. ¿Es posible?

itubal - lunes 05/04/2010

¿Para que? El error no estaba en el Loogbook.

Aqui te lo pego:

package com.edusite

class Logbook {

    Personas person
    Date entrada
    Date salida
   

    static constraints = {
    person(nullable:false, blank:false)
    entrada(nullable:true, blank:true)
    salida(nullable:true, blank:true)
    }
   
    String toString() {
        person
    }

}

 

El problema está resuelto. GRACIAS Nacho.

Me he tirado un buen monton de tiempo. Hay que crear el filtro desde linea de comandos. A mi no me ha funcionado creando directamente el archivo.

Pongo el filtro:

package com.edusite
import com.edusite.Logbook

class LogbookFilters {

    def filters = {
        all(controller:'*', action:'*') {
            before = {
         
              if(session.log) {
             def miLogbook = Logbook.get(session.log.id)
              miLogbook.salida= new Date()
              miLogbook.save(flush:true)
 
              }
            }
            after = {
               
            }
            afterView = {
               
            }
        }
    }
   
}

 

Observa bien la segunda línea!!! Resuelto !!!

Responder al hilo | Volver al foro "Grails" | Volver a los foros