我正在运行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
答案 0 :(得分:2)
看起来他们已经从1.4分叉了一个字段插件来支持grails 3.新的documentation和source repo。
在<f:all>
中有一个feature request来支持非域对象。所以它看起来还不支持。使用<f:field>
似乎是唯一的出路