我正在使用Acegi / Spring Security插件使用Grails构建Web应用程序。
如果页面显示当前登录用户的详细信息,我只想显示“编辑”链接。
例如,id = 44的登录用户正在查看页面'localhost:8080 / app / user / show / 44'
我尝试过以下但是没有用。关于如何使这项工作的任何想法,或者是否有一些我错过的非常简单的方法?
<g:isLoggedIn>
<g:if test="${person.id == loggedInUserInfo(field='id')}">
<g:link controller="user" action="edit" id="${person.id}">Edit</g:link>
</g:if>
</g:isLoggedIn>
答案 0 :(得分:2)
我不知道这个问题是否只是一个拼写错误,但应该用地图调用loggedInUserInfo。
你在方法调用中进行了一个赋值,这导致只为logInUserInfo赋予值'id'
而不是field ='id'应该说字段:'id'
<g:isLoggedIn>
<g:if test="${person.id == loggedInUserInfo(field : 'id')}">
<g:link controller="user" action="edit" id="${person.id}">Edit</g:link>
</g:if>
</g:isLoggedIn>