gpt4 book ai didi

templates - 带有 mustache 的未排序列表的结构 slice

转载 作者:数据小太阳 更新时间:2023-10-29 03:16:59 25 4
gpt4 key购买 nike

我有一个结构。

type DataKey struct {
Id int64 `db:"id"`
UserId string `db:"user_id"`
Data string `db:"data"`
CreatedAt time.Time `db:"created_at"`
}

我创建了一片结构。

data := []DataKey{}

在执行 sql 查询并填充 slice 后,我尝试传递给 mustache建立我的 list 。

mustache.RenderFileInLayout("templates/datakeys.html.mustache", "templates/layout.html.mustache", user, data)))

datakeys.html.mustache

<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>UserID</th>
<th>DataKey</th>
<th>CreatedAt</th>
</tr>
</thead>
{{#DataKey}}
<tr>
<td>{{Id}}</td>
<td>{{UserId}}</td>
<td>{{Data}}</td>
<td>{{CreatedAt}}</td>
</tr>
{{/DataKey}}
</table>

我唯一得到的是表格标题。此函数不会返回错误,所以我不知道为什么它不喜欢这些数据。我也尝试将其作为引用传递。

最佳答案

我不熟悉 mustache,但从它的角度来看,我认为 {{#DataKey}} 是错误的。

来自文档:

模板:

{{#repo}}
<b>{{name}}</b>
{{/repo}}

哈希:

{
"repo": [
{ "name": "resque" },
{ "name": "hub" },
{ "name": "rip" }
]
}

输出:

<b>resque</b>
<b>hub</b>
<b>rip</b>

我建议尝试以下方法

viewModel := struct{
items []DataKey{}
}{
data
}

mustache.RenderFileInLayout("templates/datakeys.html.mustache", "templates/layout.html.mustache", user, viewModel )))

然后将模板替换为

{{#items}}
<tr>
<td>{{Id}}</td>
<td>{{UserId}}</td>
<td>{{Data}}</td>
<td>{{CreatedAt}}</td>
</tr>
{{/items}}

这是未经测试的,可能不正确,但可能值得一试。我的猜测是 DataKey 不是模型的属性,因此无法评估。

编辑更清晰:理论上

viewModel := struct{
items []DataKey{}
}{
data
}

会变成

{
"items": [
{...},{...} ... etc
]
}

关于templates - 带有 mustache 的未排序列表的结构 slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29282728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com