0
我有一個網頁,允許用戶輸入數據,當存儲到我的數據庫時,這些數據將形成主/從關係。我將數據提交給一個將數據綁定到Command對象的Grails控制器。因爲我不知道要提交多少「明細」行,我試圖使用懶惰列表來綁定詳細數據。我驚人的失敗。Grails:懶惰列表的問題
我的命令對象的樣子:
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
此異常情況很早就在對象的生命週期,presumeably如Grails的嘗試將數據綁定到它。
如果我定義我的命令對象爲:
String title
List testItems = [new VocabQuestion()]
只有從形式提交1個詳細記錄,按預期工作,然後一切。
我哪裏錯了?
編輯 我VocabQuestion域類是
package vocabularytest
class VocabQuestion {
static constraints = {
}
static belongsTo = [vocabularyTest: VocabularyTest]
String question
String answer
}
你能分享'VocabQuestion'的定義。 –