gpt4 book ai didi

chalice : Problems with Lazy List

转载 作者:行者123 更新时间:2023-12-02 15:32:40 25 4
gpt4 key购买 nike

我有一个网页,允许用户输入数据,这些数据在存储到我的数据库时将形成主/从关系。我将数据提交给将数据绑定(bind)到命令对象的 Grails Controller 。由于我不知道将提交多少“详细信息”行,我正在尝试使用惰性列表将详细信息数据绑定(bind)到。我失败得很厉害。

我的命令对象看起来像:

String title    
List testItems = LazyList.decorate(new ArrayList(),
FactoryUtils.instantiateFactory(VocabQuestion.class));

当我提交表单时,出现以下异常:
| Error 2013-06-04 22:42:54,068 [http-bio-8080-exec-4] ERROR errors.GrailsExceptionResolver  - MissingMethodException occurred when processing request: [POST] /*****/vocabulary/save - parameters:
testItems[1].question: Q2
title: Test
testItems[0].answer: A1
testItems[0].question: Q1
testItems[0].vocabulary_test_id:
testItems[1].answer: A2
create: Create
No signature of method: vocabularytest.TestCreationCommand.propertyMissing() is applicable for argument types: () values: []
Possible solutions: propertyMissing(java.lang.String). Stacktrace follows:
Message: No signature of method: vocabularytest.TestCreationCommand.propertyMissing() is applicable for argument types: () values: []
Possible solutions: propertyMissing(java.lang.String)
Line | Method
->> 102 | <init> in vocabularytest.TestCreationCommand

这个异常发生在对象生命周期的早期,大概是因为 Grails 试图将数据绑定(bind)到它。

如果我将我的命令对象定义为:
String title    
List testItems = [new VocabQuestion()]

并且只从表单中提交 1 条详细记录,然后一切都按预期工作。

我哪里错了?

编辑
我的 VocabQuestion 域类是
package vocabularytest
class VocabQuestion {

static constraints = {

}

static belongsTo = [vocabularyTest: VocabularyTest]

String question
String answer

}

最佳答案

我找到了答案(可能不是答案,但它有效)

我使用了后来 Groovy 版本中原生的 La​​zyList 语法,如下所示。

List testItems = [].withLazyDefault {new VocabQuestion()}

关于 chalice : Problems with Lazy List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com