ユーザーがすでに気に入ったかどうかに応じて、ステータスの好き嫌いを設定する方法は? 似ているものと似ていないものを見つけるために、基準または動的ファインダーまたは gsp の各ループを使用する必要がありますか?
私のアプリのモデルは次のようになります。
Status
ドメインには多くのlikes
like
所属がuser
あり、status
user
多くのドメインがstatus
あり、likes
<g:each in="${statusInstanceList}" status="i" var="statusInstance">
${fieldValue(bean: statusInstance, field: "statusMessage")}
<g:each var="likeInstance" in="${statusInstance.like}">
<g:set var="likesSize" value="${statusInstance.like?.size()}"/>
$likesSize
</g:each>
</g:each>
$likesSize
ステータスのいいね数を出力します。(@dmahapatro に感謝)
セッションユーザーがステータスをすでに気に入っているかどうかを確認し、それに基づいて好き/嫌いを示す必要があります。
更新: 以下の if ステートメントを使用すると、like と like が異なるようになりました。
<g:each in="${statusInstance.like?.userAccountId}" status="p" var="userlike">
<g:if test="${userlike == session.selectedUser?.id || statusInstance.like?.statusId == statusInstance.id}">
Unlike
</g:if>
Like
</g:each>