我在自定义视图中使用此标记,为我的对象生成CRUD表单:
<div class="configForm">
#{crud.form /}
</div>
这会在我自己的视图中生成一个CRUD表单。有没有办法通过删除一些我不想编辑的字段来自定义生成的表单?
我在form.html中发现了这一行:
#{list items:_fields ?: currentType.fields*.name, as:'fieldName'}
如果我正确阅读,那么有一个_fields
参数可以让我选择加入字段(我更喜欢选择退出,但我会选择加入)。如何使用此_fields参数?
答案 0 :(得分:4)
您可以过滤以下字段:
#{crud.form fields:['name', 'email', 'password']/}
将仅显示字段名称,电子邮件和密码
此致 罗纳德
答案 1 :(得分:2)
我写了一篇filtered version的CRUD ObjectType
。控制器可以选择要过滤的字段,如下所示:
public static void show(long id) {
MyModel object = MyModel.findById(id);
CRUD.ObjectType type = new FilteredObjectType(MyModel.class,
"filteredField1",
"filteredField2");
render(type, object);
}
答案 2 :(得分:0)
您可以关注Play documentation。然后,您可以轻松编写自己的ExtCRUD类,该类忽略在Controller的静态变量中声明的所有字段。对于特殊情况,FilteredObjectType如何更容易解决。