2013-12-17 80 views
1

我遇到了以下问题,我在我的应用程序中使用了Grails。我喜欢编辑名为“任务”的条目,因此Foundation 5 Reveal弹出并显示我的表单。这个Reveal是一个模板,在点击任务的编辑按钮后呈现,我用Ajax调用我的控制器并将新数据放入我的Reveal div中。Ajax调用后Grails插件上传器无法呈现

问题是,新数据包含我的Uploadr插件标记,并且它没有被渲染,这是有道理的,但我该如何解决这个问题?

<uploadr:add name="myFirstUploadr" path="res/img/aufgaben" 
allowedExtensions="gif,png,jpg,jpeg"/> 

和我得到以下堆栈跟踪:

Error 2013-12-17 13:29:02,573 [http-bio-8090-exec-9] ERROR [/LMS].[default] - Servlet.service() for servlet [default] in context with path [/LMS] threw exception 
Message: It looks like you are missing some calls to the r:layoutResources tag. After rendering your page the following have not been rendered: [defer] 
    Line | Method 
->> 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 615 | run  in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 724 | run . . . in java.lang.Thread 

回答

2

解决方案很简单,增加对Uploadr插件需要标签的局部视图,而不是主要的布局,所以JavaScript和依赖性会即使在Ajax-Call上也能解决。

<r:require modules="uploadr"/> 

<uploadr:add name="editTaskUploadr" path="${imagePath}" 
       allowedExtensions="gif,png,jpg,jpeg"> 

<r:layoutResources/> 
<r:layoutResources/> 

已经做到了,简化了。