私は3つのドメインクラスを持っています:Article、User &言語。すべての記事は、指定された言語でユーザーによって書き込まれます。 、(ユーザ - の記事:1 - 多くの)Grails belongsTo usage
私は試してみてください。ここで
class Product {
static belongsTo = [user:User]
static belongsTo = [language:Language]
...
}
class User {
static hasMany = [products:Product]
...
}
class Language {
static hasMany = [products:Product]
...
}
は問題だ:grails generate-all
はのためのすべてのコントローラ&ビューを作成することができますので、関係が( - - 多くの1言語条)ですすべての3つのドメインクラスですが、どのビューにもプロパティーが入力されていません。テキスト入力なし、コンボボックスなし、エラーメッセージなし、... Product、Language、Articleのidフィールドのみ。
"belongsTo"を& "hasMany"にドロップすると、問題なくすべてのビューが作成されるため、エラーがどのように関係を使用しているかが分かります。
私は間違っていましたか?
ありがとうございます。今では、(Article - User)関係のためにbelongsToとhasManyを使用して、あなたが言ったように、言語プロパティをProductに入れます。どうやってこの仕事をしてくれたらいいですか?ドキュメントを読むと、belongsToが(1 - 多くの)関係にも適用されます。 –
hasMany/belongsToに明示的なプロパティを追加しても、1)フィールドタイプを制御することができます。つまり、暗黙的に 'hasMany'が追加されたSetの代わりにList を使用します。 Class.getDeclaredFields()には表示されません。 UI生成の仕組みを知りたい場合は、 'grails install-templates'を実行してください。その後、src/templates/scaffoldingのテンプレートを調べて削除することができます。 –