0

私はドメインクラスを持っています:

class MyUser {

 ..

int sex
int qualification
int occupation

..
}

たとえば、これらの整数カテゴリを制約したいとします。

occupation : [0:"not occupied", 1:"architect", 2:"student", 3:"policeman" and so on..]

データベースに整数値を保持し、ビューに整数の文字列表現を表示したいと思います (この動作は自動的にスキャフォイルできますか?)。

grails の方法でこれをすばやく行う方法はありますか?

ありがとう!

4

2 に答える 2

0

必要に応じて、マップも使用して、コントローラーを介してビューに渡すことができます....

于 2012-06-09T06:45:21.747 に答える
0

オブジェクトを使用して職業を表すことをお勧めします...

class MyUser {
...
    int sex
    int qualification
    Occupation occupation
...
}

次に、職業クラスは次のようになります...

class Occupation {
    ...
    String name
    ...
}

ただし、列挙型の使用を主張する場合は、次のようなことができます...

    public enum Occupation {
        GEEK(0, 'Geek'),
        NERD(1, 'Nerd'),

        final int id;
        final String name;

        Occupation (int id, String name) {
          this.id = id;
          this.name = name;
       }
    }

あなたの MyUser クラスはこれを望んでいます...

   class MyUser {
    ...
        int sex
        int qualification
        int occupation
    ...
    }

そして、あなたはこのようなものを望んでいます...

 <g:select name="occupation" id="occupation"
                        from="${Occupation.values()}" 
                        value="${fieldValue(bean: user, field: 'occupation')}" 
                        optionKey="id"
                        optionValue="name"/>

これはテストされていませんが、動作するはずです。楽しみ。

于 2012-06-01T09:44:21.323 に答える