私は grails を使用してブログで作業しています。つまり、Post
属性として定義した という名前のドメイン クラスを作成しましString content, Date date, String title
た。投稿には複数のコメントを含めることができる"Comment" with: String author, File avatar, String content, Date commentDate;
ため、ドメイン クラスも作成して、1 対多の関係を宣言しました。次static hasmany = [statements: Comment]
のように: Post ドメイン クラスで。次に、blog.gsp で、すべてのコメントを含む単一の投稿を表示したいので< g:each >
、投稿を含むタグを変数として使用しようとしています。アイデアは、このタグがこの単一のコメント リストを反復処理することです。すべての投稿ではなく、投稿します。これを達成する方法?.
質問する
910 次
2 に答える
1
混乱を避けるために、「標準」の Grails 変数名を使用します。
コントローラーがオブジェクトを送り返す場合、次のPost
ように反復できます。
//PostController.groovy
def blog() {
def postInstance = Post.read(params.id)
[postInstance: postInstance]
}
//blog.gsp
${postInstance.title} //just to make sure your postInstance is correctly populated
<g:each in="${postInstance?.statements}" var="commentInstance">
${commentInstance.content}
<g:each>
これは、ステートメントが 1 つであろうと 1000 個であろうと機能するはずです。
また、それがあることを確認してください
//Post.groovy
static hasMany = [statements: Comment]
Comment
に所属させたいと思うかもしれません。Post
//Comment.groovy
static belongsTo = [post : Post]
これにより、双方向の関係になります。
于 2013-05-29T06:56:59.140 に答える