在js partial内部渲染html部分会导致崩溃

时间:2014-08-11 15:49:13

标签: javascript ruby-on-rails partial

我尝试在js partial

中渲染html partial时遇到了一个相当奇怪的错误

在我的索引页面中,我有:

<% content_for :head do %>
  <script type="text/javascript">
    <%= render :partial => "index", :formats => [:js] %>
  </script>
<% end %>

这是_index.js.erb文件

$(function(){
<% if @badge %>
$('#badge').html("<%= j render :partial => "badge1", :badge=> @badge, :user =>     current_user %>");
$('#badge').show().delay(3000).fadeOut(2000);
<% end %>
$('#Container_2').mixItUp();
$('#Container_2').mixItUp('sort', 'myorder:desc');
});

当我进入索引页面时,它会给出错误“Missing partial index”。日志说已经渲染了index.js.erb。 但是,如果我删除_index.js.erb文件中的第3行,它可以正常工作。

所以,即使我以某种方式搞砸了部分徽章(我怀疑我这么做了),为什么它说这条线存在时找不到整个部分呢?

1 个答案:

答案 0 :(得分:1)

您的问题在于无法正确呈现badge1部分。请尝试以下方法:

确保有@badge和current_user的值。

 &#39; badge1&#39;,locals:{badge:@badge,user:current_user})%&gt;