2016-12-01 52 views
0

我想補充一個Edit按鈕,只出現了主持人:如何訪問模板範圍內的會話變量?

{{range $n := .articles}} 
    <p>{{$n.Content}} </p> 
    {{ if .is_mod}} 
     <button> Edit </button> 
    {{end}} 
{{end }} 

我已經設置is_mod在會話中的布爾變量,並將其傳遞給模板。然而,這是不是在Article結構的字段,所以,我得到這個錯誤:

executing "content" at <.is_mod>: is_mod is not a field of struct type model.Article.

一個顯而易見的解決方案是一個新的結構的控制器,包括IsMod場,並傳遞到模板,但這是混亂和低效率,所以我寧願避免它,如果可能的話,尋找一個更優雅的解決方案。

回答

0

您需要將會話變量傳遞給模板。我沒有嘗試過,但你可以嘗試這樣的:

c.HMTL(http.StatusOK, "template_name", gin.H { 
    "articles": articles, 
    "is_mod": is_mod, 
}) 

上述語法是gin-gonic/gin框架。 。

+0

我不使用杜松子酒。 – Karlom