2017-01-26 3 views
1

Ich arbeite gerade mit einem neuen kleinen Prototypprojekt und versuche, Daten unter Verwendung der Gerüsteigenschaft zu laden. Ich gehe durch den Prozess speichern, sagt sie es nach dem Einschalten der UI gespeichert hat, aber dann habe ich überdenken und die Liste der Objekte ist noch auf 0. Ich habeGrails Scaffold Save schlägt stumm

loggingSql: true 

in mein .yml aber ich sehe keine SQL-Anweisungen.

class RiUser { 

    String firstName 
    String lastName 

    static hasMany = [riCases: RiCase] 
    static constraints = { 

    } 
} 


class RiUserController { 
    static scaffold = RiUser 
    def index() { } 
} 

Adding RiUser

UI shows no RiUsers After Save

Jede Hilfe wäre sehr dankbar!

Antwort

0

Versuchen Sie, die @Transactional Annotation zum Controller hinzuzufügen.

import grails.transaction.Transactional 
@Transactional 
class RiUserController { 
    static scaffold = RiUser 
    def index() { } 
} 

Hinweis: Dies ist ein „ok“ Ansatz, wenn Sie gerade mit Grails begonnen, aber in einer realen Anwendung werden Sie Baugerüst vermeiden wollen und die Controller-Methoden selbst zu implementieren. Sie können grails generate-controller <entity> verwenden, um einen Anfangsstart für die standardmäßige gerüstete Implementierung zu erhalten.

Ihre Controller-Methoden sollten an Ihre Service-Schicht delegieren, die alle Persistenz-bezogenen Aktivitäten behandelt. Die Service-Layer-Methoden werden standardmäßig in Transaktionen eingeschlossen, so dass Sie sich keine Gedanken über diese Methoden machen müssen, wenn Sie die Verbreitungsebene nicht steuern wollen und/oder ob die Methoden schreibgeschützt sind, worüber Sie mehr lesen können Dokumente

http://docs.grails.org/latest/guide/services.html#declarativeTransactions

+0

Entschuldigung für die Verzögerung in Antwort und danke. Aber es immer noch nicht speichern .... Sie wissen von einer Möglichkeit, einen Drilldown und finden Sie eine Fehlermeldung? – NewDev