我在gsp页面中有以下g:render标签:

<g:render template="/artist/rate" model='[artistID: 1, rating: 5]' />

在_rate模板中,我通过RichUI渲染星级评分插件:
<div id="artist${artistID}">
   <richui:rating dynamic="true" id="${artistID}" units="5" rating="${rating}"  controller="rating" action="rate"  />
</div>

我需要的是能够在运行时动态更改“模型”属性。
我尝试了一个非常幼稚的解决方案,其中使用了JQuery来更改属性。像这样:
$(g:render).attr('model','[artistID: 1, rating: 3]')

但是很快我意识到它不起作用,因为从gsp页面生成的html不包含g:render标记,因为在呈现插件时会替换它。

有什么办法可以做到这一点?
非常感谢。

最佳答案

您需要一个 Controller 来确定您要渲染的模型的值是什么,然后将已更新/更改的模型传递给gsp渲染标签。

Controller 应负责将正确的模型传递给 View ,因此请在此处执行。

关于templates - Grails动态更新模板属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7189400/

10-13 07:44