我知道我不能render
在一个动作中多次调用,但也许有人可以建议一个替代方法来更新 AJAX 响应中多个 DOM 元素的内容。
我打算这样做:
render :json => {:updates => {'#a' => '<p>newContentA</p>', '#b' => '<p>newContentB</p>'}}
...然后让前端的 js 执行替换(从而将 javascript 排除在我的实际视图文件之外)。但是使用上述解决方案,如果我想从视图文件构建任何 DOM 内容,我将不得不再次调用 render:
render :json => {:updates => {'#a' => render(a), '#b' => '<p>newContentB</p>'}}
执行此操作的正确方法是什么?