如何向Grails中的类Recipes实例添加/更新成分列表?

如何向Grails中的类Recipes实例添加/更新成分列表?,grails,gorm,Grails,Gorm,我将尽可能简洁,我对Grails完全陌生,在我的课堂上,我们正在开发一个在DB中收集食谱的应用程序。为此,我们需要一个新的配方表单,该表单将收集基本信息(名称、课程、饮食类别、准备时间等)。提交该表单后,用户将被带到另一个页面“更新配料”,该页面列出当前配料,并允许用户移除或添加新配料(通过文本字段)。用户每次添加配料时,都应更新当前配料列表 class RecipesController { def addIngredients () { def i = Recipes.get(p

我将尽可能简洁,我对Grails完全陌生,在我的课堂上,我们正在开发一个在DB中收集食谱的应用程序。为此,我们需要一个新的配方表单,该表单将收集基本信息(名称、课程、饮食类别、准备时间等)。提交该表单后,用户将被带到另一个页面“更新配料”,该页面列出当前配料,并允许用户移除或添加新配料(通过文本字段)。用户每次添加配料时,都应更新当前配料列表

class RecipesController {


def addIngredients () {
    def i = Recipes.get(params.id)
    i.properties = params
    [ingredients:i]
    i.save()
    redirect (action:"index")
以上只是与AddingCredits视图相关的操作,因为我的应用程序的其余部分到目前为止都正常工作,我只会在必要时发布这些代码

<g:if test="${ingredients.empty}">
<g:textField name="ingredient" />
</g:if>

<g:else>
<g:each var="item" in="${ingredients}">
    ${item.ingredients}
    <g:textField name="ingredient"/>
</g:each>
</g:else>

<g:submitButton name="Submit"/>

${item.components}

在这一点上,我已经修补了几个小时,所以我的代码可能相当混乱。请让我知道,如果任何进一步的代码或解释是必要的。提前感谢您的帮助。

运行
grails生成所有my.app.Recipes
并查看生成的控制器。这将使您对保存/更新的工作原理有一个很好的了解。。。它目前如何不起作用,您得到了什么,它与您期望它做的有什么不同?抱歉,在提交第一个表单并重定向到我的“添加元素”后,当前我遇到了一个错误“无法在空对象上设置属性‘成分’”“观点。我希望能够成功地显示此视图,在文本字段中收集成分,并将该列表附加到Recipe类的相应实例中。如果你需要什么,请告诉我more@zoran119是正确的-generate all将为您提供一个正确方法的工作示例,您可以借用所需的代码片段。不过你的错误本质上只是一个空指针,所以请确保你的对象正确初始化。很酷,谢谢,我将在IDEA中查找如何运行它,或者我需要做些什么来运行它,因为我昨晚无法获得它,尽管当时我已经筋疲力尽,所以可能错过了一些东西