Grails 3字段插件从命令对象生成表单元素

时间:2015-08-08 19:55:02

标签: grails-plugin grails-3.0

我正在运行grails 3.0.4并且我有一个简单的命令对象AdvanceCommand 我正在尝试使用字段插件中的f:all标记为命令对象中的所有字段创建表单。但是我收到了错误

[views/advance/create.gsp:35] [views/advance/create.gsp:30] Tag [all] currently only supports domain types

documentation特别提到命令对象,所以我有点困惑。如果此标记不起作用,如何为命令对象生成表单元素?

这是我控制器的片段

def create() {
    respond new AdvanceCommand()
}

这是我的gsp

        <g:form action="save">
            <fieldset class="form">
                <f:all bean="advanceCommand"/>
            </fieldset>
            <fieldset class="buttons">
                <g:submitButton name="create" class="save" value="${message(code: 'default.button.create.label', default: 'Create')}" />
            </fieldset>
        </g:form>
在字段插件的源代码库中

PS 最新版本是1.5.1但是如果我运行plugin-info我得到2.0.3并且甚至没有提到1.5.x。我使用的是不同的插件吗?

grails> plugin-info fields
| Plugin Info: fields
| Latest Version: 2.0.3
| All Versions: 2.0.0.M1,2.0.0,2.0.1,2.0.2,2.0.3
| Title: Fields Plugin

Customizable form-field rendering based on overrideable GSP template

* License: APACHE
* Documentation: https://grails-fields-plugin.github.io/grails-fields
* Issue Tracker: https://github.com/grails-fields-plugin/grails-fields/issues
* Source: https://github.com/grails-fields-plugin/grails-fields

1 个答案:

答案 0 :(得分:2)

看起来他们已经从1.4分叉了一个字段插件来支持grails 3.新的documentationsource repo

<f:all>中有一个feature request来支持非域对象。所以它看起来还不支持。使用<f:field>似乎是唯一的出路