これは私のドメイン モデルです。調査には多くの質問があり、各質問には多くの回答があります。
class Survey {
String name
String customerName
static hasMany = [questions: SurveyQuestion]
static constraints = {
}
}
class SurveyQuestion {
String question
static hasMany = [responses : SurveyQuestionResponse]
static belongsTo = [survey: Survey]
static constraints = {
}
}
class SurveyQuestionResponse {
String description
static belongsTo = [question: SurveyQuestion]
static constraints = {
}
}
私のコントローラには、Survey の ID を取得して検索し、別のリクエスト パラメータから質問を作成し、その質問を Survey に追加して保存しようとするメソッドがあります。
def addQuestion =
{
def question = new SurveyQuestion(question:params.question)
def theSurvey = Survey.get(params.id)
theSurvey.addToQuestions(question) //fails on this line
theSurvey.save(flush:true)
redirect(action: showSurvey, params:[id:theSurvey.id])
}
ただし、失敗し、これを返します。
メソッドの署名はありません: roosearch.Survey.addToQuestions() は引数の型に適用できます: (roosearch.SurveyQuestion) 値: [roosearch.SurveyQuestion : null] 可能な解決策: addToQuestions(java.lang.Object)、getQuestions()
ここで何が間違っているのかよくわかりません。質問を作成するさまざまな代替方法を試してみましたが、リテラル文字列を使用して手動でインスタンス化することもできましたが、常に同じエラーが発生します。
誰でも私にアドバイスできますか?
ありがとう