2009-03-15 12 views

Antwort

4

Ich denke, das ist ein gemeinsames Anliegen.

Dies ist keine direkte Lösung für Ihr Problem, aber das ist, was ich mache und sehr gut für mich arbeitet.

  1. Ich mache nie direkten Änderungen an den grails rüstet Artefakte (Ansichten und Controller)

  2. ich meine Produktion Ansichten halten/Controller der eingerüstete Artefakte trennen; Durch den Gerüstbau nutze ich als Ausgangspunkt meiner Anwendung Controller und Ansichten.

  3. Wenn Änderungen am Domänenmodell vorgenommen werden, erzeuge ich die Ansichten erneut und kopiere (wenn möglich) aus gerüsteten Artefakten in handcodierte Artefakte.

  4. Irgendwann lösche ich entweder alle gerüsteten Artefakte aus der App oder schütze den Zugriff darauf.

Hoffe, das hilft.

+1

Wie nennen Sie Ihre benutzerdefinierte Ansicht/Controller? Es scheint, dass Sie von den Benennungskonventionen der Grails abweichen müssten, um dies zum Laufen zu bringen. Dies ist ein häufiges Problem und eine gute Lösung wäre großartig. –

+0

Die Benennung der Ansichten und Controller erfolgt basierend auf den Anwendungsanforderungen. Zum Beispiel gab es in einer aktuellen Anwendung 50 Domänenklassen, und die Anwendungsschnittstelle hatte 5 Hauptmenüs (Home, Kontakte, Kalender, usw.). Meine Controller waren also HomeController, ContactsController und so weiter. –

0

erklären es einfach:

class MyDomain { 
    String newField; 
} 

alles, was Sie tun müssen, werden sollte, um.

+0

Das wird die vorhandene Ansicht überschreiben, die nicht das ist, was sie wollen. – Jared

1

Es gibt mehrere Möglichkeiten, dies zu tun.

  1. Wenn Sie Ihre generierten Ansichten nicht geändert haben zu viel und werden mit Versionskontrolle, könnten Sie grails erlauben, Ihre Ansichten zu überschreiben und dann die Änderungen an die neuen Vorlagen mit verschmelzen, was in der Versionskontrolle ist.

  2. Wenn Sie Ihre generierten Ansichten geändert haben, können Sie die Eingabeaufforderung zum Überschreiben der Ansichten einfach mit no beantworten. Wenn Sie nur ein neues Feld hinzufügen, einen Feldnamen oder etwas Ähnliches ändern, sollten Sie die Ansichtsvorlagen manuell anpassen.

Sie würden auf die gleiche Weise mit möglichen Änderungen an den Controllern umgehen.

0

Generieren Sie die Ansichten nicht neu, kopieren Sie einfach ein ähnliches Feld in das Feld, das Sie in die gewünschte (n) Ansicht (en) einfügen.

Verwandte Themen