我尝试在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行,它可以正常工作。
所以,即使我以某种方式搞砸了部分徽章(我怀疑我这么做了),为什么它说这条线存在时找不到整个部分呢?
答案 0 :(得分:1)
您的问题在于无法正确呈现badge1部分。请尝试以下方法:
确保有@badge和current_user的值。
&#39; badge1&#39;,locals:{badge:@badge,user:current_user})%&gt;