2

就像标签集的游戏教程一样(自定义 crud 字段);我想在用户选择标签时添加新功能,然后 javascript 应该获取当前用户(models.user)并调用方法 user.doSomething()。这可以在 CRUD 自定义字段中执行吗?(就像在 yabe 标签的教程中一样?)。

有没有一种方法可以将自定义 CRUD 字段作为复选框列表,当用户选中某些复选框时,我应该编写代码(可能是 javascript)来获取当前登录的用户,然后在该用户模型上调用方法?

谢谢。

4

1 回答 1

1

这是播放教程中的示例(自定义 crud 字段)。我想你想在点击标签时执行一个动作。这可以简单地完成,如下所示

#{crud.form}
    #{crud.custom 'tags'}
        <label for="tags">
            &{'tags'}
        </label>
        (...)
        <div class="tags-list">
            #{list items:models.Tag.findAll(), as:'tag'}
               <span id="${tag.id}" onclick="toggle(this)" class="tag ${object.tags.contains(tag) ? 'selected' : ''}">
                     /**** ADD An ACTION CALL HERE ******/
                    <a href="@{Application.getConnected().doSomething()}">${tag}</a>
                     /**** END *****/
               </span> 
               <input id="h${tag.id}" type="hidden" name="${fieldName}" 
                        value="${object.tags.contains(tag) ? tag.id : ''}" />
            #{/list}
        </div>
    #{/crud.custom}
#{/crud.form}

您必须自己在控制器(可能是 Application.java)中实现方法 getConnected()。假设您使用安全模块,它将类似于

void getConnected(){ 
        if(Security.isConnected()) {
            User user = User.find("byEmail", Security.connected()).first();
            renderArgs.put("user", user);
        }

}
于 2012-02-19T20:04:39.040 回答