【问题标题】:Grails controllers and domainsGrails 控制器和域
【发布时间】:2010-09-10 19:57:13
【问题描述】:

由于我还在学习 grails,所以我有一个简短的问题。我有一个控制器类,它只读取一个文本文件并加载一个包含信息的列表。我想通过此列表填充我的一个域。我可以这样做吗?

例如,我有一个 bookController,控制器会做类似的事情

//psuedocode
import bookdemo.book

readFile(bookData) into list
int a = list.size

a.times {
    new Book(Author:"$list.author", Title:"$list.title").save()
}

由于某种原因,它没有将其添加到列表中。我继续查看 grails,但没有找到任何相关的内容,或者我错过了它。当我打印列表时,它已被填充。当我打印这本书时,它会打印出'bookdemo.book'

抱歉,如果这是非常基本的,我将在发布此问题时继续挖掘 grails.org。

【问题讨论】:

    标签: grails controller dns populate


    【解决方案1】:

    我认为无论 readFile 返回什么(地图?书?),您都需要遍历列表。你所拥有的没有任何索引列表的方法。我看不出 $list.author 可以解决什么问题。

    假设 readFile 返回一个 Map 我会认为是这样的

    list.each { mymap => new Book(mymap).save() }
    

    是你想要的方向(虽然我的闭包语法可能是错误的)。

    【讨论】:

    • 抱歉,我解释得很糟糕。你是对的,它是一张地图,而不是一张清单。 (相反,我有一个我遍历的地图列表)。我实际上只是意识到我在做一些倒退/错误的事情。我要回去仔细阅读它,现在我会将您的答案标记为正确。我相信我需要做的是向生成的书控制器添加一个按钮,例如“填充”,它可以读取我的文件、迭代并添加一本新书(而不是尝试通过单独的控制器来完成)。一旦事情经过测试,就会发回。我显然需要建立一个数据库
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多