我的用户有一个名为监视列表的 hasMany 属性,其中包含一定数量的股票代码,我想在网页上显示该监视列表。
static scaffold = User
def index() {
def stocks = StockSymbol.list(sort: "volume", order: "desc")
def a = User.get(1)
for(stock in a.watchlist)
{
println stock.name
println stock.volume
println stock.price
}
return [stocks: stocks]
}
到目前为止,这会将信息打印到控制台。无论如何,我可以存储该信息并像处理股票对象一样返回吗?
最佳答案
您可以将 user
实例传递给 View (index.gsp
):
return [stocks: stocks, user: a]
并打印你想要的所有信息:
<body>
.
.
.
<p>Watchlist of user ${user}</p>
<ul>
<g:each var="stock" in="${user.watchlist}">
<li>${stock.name} | ${stock.volume} | ${stock.price}</li>
</g:each>
</ul>
.
.
.
</body>
或者,您可以像这样传递监视列表:
return [stocks: stocks, watchlist: a.watchlist]
顺便说一句 - 您可以在 Groovy 中省略 return
语句。
关于grails - 在 Controller 中引用 hasMany 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13068053/