我在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/