6

模板问题

模板testaccount1459 次浏览
	  {{range .posts}}
	  <div class="jumbotron">
	  <li class="post">
	  <p>
	    {{.UserName}} said:  {{.Content}} 
	  </li>
	  </p>
	  <form action="/comment" method="POST" id="user-comment" class="form-horizontal" role="form">
  		{{with $field := field "comment.ContentStr" .}}
          ........
 		{{with $field := field "comment.ContentStr" .}}

这一行报错了,读到的是Post模型,我本意是想在这里写一个提交的comment表单的

( expected map[string]interface {}; got *models.Post)

请问一下在range里面的表单应该怎么处理?

共6个回复
goophy 回复

try this

{{$posts := .posts}}

{{range $post :=$posts}}

{{$post.UserName}} ...

<form>

...{{with $field := field "comment.ContenStr" .}}

 

kevin 回复
{{with $field := field "comment.ContentStr" $}}

可以试下看看

testaccount 回复

@goophy does not work

@kevin   it works!  但是这是什么意思呢?

kevin 回复

要区分一下当前上下文环境的,with最后的dot符号愿意实际是将生成的字段放入全局上下文环境中,相当于renderArgs,也就是$,如果用dot的话,就变成了range上下文的$post了,这样子就放不进去了,常用模板操作参考这个帖子,http://gorevel.cn/topic/14

goophy 回复

学习了

testaccount 回复

@kevin thx