Rails '.js.erb' 不呈现部分
Posted
技术标签:
【中文标题】Rails \'.js.erb\' 不呈现部分【英文标题】:Rails '.js.erb' not rendering partialRails '.js.erb' 不呈现部分 【发布时间】:2014-10-08 10:49:14 【问题描述】:所以,我正在使用 rails 3.2.13,我想要做的是渲染一个部分,然后使用 jquery 将其附加到一个 div:
$("#notifications").append("<%=raw escape_javascript(render('layouts/notification')) %>");
它现在做什么,是将它附加到正确的 div 但它不呈现部分或任何东西,它只是将 rails 代码呈现为字符串.. 我不知道我在做什么错但我敢打赌,我错过了一些愚蠢的事情。
任何帮助将不胜感激,谢谢
【问题讨论】:
【参考方案1】:试试render_to_string
而不是render
【讨论】:
【参考方案2】:如果它是常规部分(在同一视图下),那么:-
$("#notifications").append("<%= escape_javascript(render(:partial => 'notification')) %>");
否则
$("#notifications").append("<%= escape_javascript(render(:partial => 'layouts/notification')) %>");
【讨论】:
【参考方案3】:试试这个:
$("#notifications").append("<%= escape_javascript(render(:partial => 'layouts/notification')) %>");
【讨论】:
@RAJ...为什么在渲染部分时使用 raw 或 html_safe?以上是关于Rails '.js.erb' 不呈现部分的主要内容,如果未能解决你的问题,请参考以下文章
Rails Ajax:.js.erb 呈现为文本,而不是 JS
在 js.erb 中渲染 Rails 部分而不重新加载整个页面