2009-03-15 6 views

答えて

4

私はこれが共通の問題だと思います。

これはあなたの問題に対する直接的な解決策ではありませんが、これは私がやることであり、とてもうまく動作します。

  1. 私は

    私は私の生産の景色を保つ
  2. は/コントローラは足場の成果物から分離Grailsのスキャフォールドのアーティファクト(ビューとコントローラ)に直接変更を加えることはありません。私はアプリケーションコントローラとビューの出発点としてスキャフォールドを使用しています。

  3. ドメインモデルが変更された場合、私はビューを再生成し、スキャフォールドされた成果物からハンドコード化された成果物にコピー(可能な限り)します。

  4. ある時点で、私はアプリからスキャフォールドされた成果物をすべて削除するか、またはそれらのアクセスを保護するだけです。

希望します。

+1

カスタムビュー/コントローラにはどのように名前を付けますか?これを動作させるにはgrailsの命名規則と異なる必要があるようです。これは一般的な問題であり、すばらしい解決策が得られるはずです。 –

+0

ビューとコントローラの命名は、アプリケーションの要件に基づいて行われます。たとえば、最近のアプリケーションでは、50のドメインクラスがあり、アプリケーションインターフェイスには5つのメインメニュー(家、連絡先、カレンダーなど)がありました。ですから、私のコントローラはHomeController、ContactsControllerなどでした。 –

0

ちょうどそれを宣言します。

class MyDomain { 
    String newField; 
} 

は、あなたがする必要があるすべてであるべき。

+0

これは、既存のビューを上書きします。これは、必要なものではありません。 – Jared

1

これを行うにはいくつかの方法があります。あなたはあまりにも多くのあなたの生成されたビューを変更していないと、バージョン管理を使用している場合

  1. 、あなたはGrailsのあなたの意見を上書きして、バージョンコントロールにあるもので、新しいテンプレートに変更をマージする可能性があります。

  2. 生成されたビューを変更した場合は、表示を上書きするためのプロンプトに対してnoと答えることができます。フィールド名を変更するだけで新しいフィールドを追加する場合は、ビューテンプレートを変更することは手動で行うのが簡単です。

同様の方法でコントローラを変更することができます。

0

ビューを再生成しないで、別の類似フィールドをコピーして、必要なビューに配置するフィールドに貼り付けます。

関連する問題