英文:
Golang function call on template fails on a single struct
问题
我有以下代码:
func (w *Warehouse) GetId() string {
return w.Id.Hex()
}
在多个视图中运行得很好:
{{ range .Data }}
<tr>
<td>{{ .Name }}</td>
<td>{{ .City }}</td>
<td>{{ .Manager }}</td>
<td><a class="blue" href="/warehouse/show/{{ .GetId }}">view</a></td>
</tr>
{{ end }}
在单个展示仓库的视图中,我尝试了以下代码,但是当使用.Data.GetId
时失败了,而.Data.Name
可以正确返回名称:
{{ .Data.GetId }}
你有什么想法,我在这里漏掉了什么?
英文:
i have following code
func (w *Warehouse) GetId() string {
return w.Id.Hex()
}
view multiple works perfect
{{ range .Data }}
<tr>
<td>{{ .Name }}</td>
<td>{{ .City }}</td>
<td>{{ .Manager }}</td>
<td><a class="blue" href="/warehouse/show/{{ .GetId }}">view</a></td>
</tr>
{{ end }}
in single show warehouse i do this but that fails while .Data.Name return the name correctly
{{ .Data.GetId }}
any idea what i am missing here?
答案1
得分: 1
问题是我需要像这样创建我的结构体的实例:
var warehouse = new(models.Warehouse) // 正常工作
而不是
var warehouse models.Warehouse // 失败
英文:
problem is that i needed to make instance of my struct like this
var warehouse = new(models.Warehouse) // works
instead of
var warehouse models.Warehouse // fails
答案2
得分: 0
根据你的代码,Data 是一个数组或切片,它没有 GetId() 方法。
英文:
According to your code .Data is array or slice. It does not have GetId() method
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论