2012-02-02 28 views
0

任务是相当简单部分:渲染的OnChange AJAX功能部分模板。 执行了js.erb并执行了渲染后,我的页面上的HTML标记被破坏,新渲染的所有元素都被渲染。 在这个例子中它增加了“一>”的链接名称,所以DOM包含“新品牌A>”滑轨3.2 +的jQuery +呈现js.erb =破碎HTML元素

#partial 
<%= link_to 'New Brand', new_brand_path %> 

#controller------------------------- 
... 
format.js 

#parent view------------------------ 
<div id="partial-id"> 
    <%= render 'partial' %> 
</div> 

#action_script.js.rjs--------------- 
$("#partial-id").html("<%= escape_javascript(render ('partial')).html_safe %>"); 

建议将高度赞赏,我已经花了几个小时试图找出解决方案。

+0

是您的JS模板的ERB或RJS一个(你提到的“与渲染js.erb执行......之后”,但'代码块action_script.js.rjs')? – Jef 2012-02-02 09:51:02

回答

0

对于我们WODstack我们这个使用了很多,但我们从来没有使用.html_safe。

只是删除您html_safe,你应该罚款。

+0

谢谢,但我试过了。如果我删除.html_safe,那么我不仅看到“New Branda”,而且看到整个标签作为文本的来源。 – 2012-02-02 09:02:39

+0

在这种情况下,你的部分HTML是错误的地方。 – mhenrixon 2012-02-02 10:51:47

+0

这是我的部分内容: <%= link_to'新品牌',new_brand_path%> – 2012-02-02 11:48:44

2

一旦我从原型转换为jQuery,问题就解决了。所以* action_script.js.erb *效果很好,在这种情况下不需要.html_safe