这是我的代码
$(function(){
$('#new_post').bind('ajax:success', function() {
$('.posts').append("<%=escape_javascript(render :partial=>'post', :loca\
ls=>{:post=>Post.new})%>");
});
});
导致奇怪的输出,页面只是将<%=escape_javascript(render :partial=>'post', :locals=>{:post=>Post.new})%>
附加到我的列表中。
有谁知道这会怎么样? 谢谢!
答案 0 :(得分:2)
我最终解决了这个问题,谢谢!
实际上我首先使用了这种方法,但它没有用。
事实证明我使用了
format.js { render :nothing => true }
在我的控制器中,这可能会阻止javascript呈现任何内容。
此外,而不是使用
<%= div_for post do %>
我用过
<tr><td>
格式 对于我的单一帖子 我想这就是为什么我的javascript不起作用的部分原因
现在我的create.js.erb只呈现
$('#posts').append("<%= escape_javascript(render(@post)) %>");
它有效。
谢谢大家,我是这个社区的新手(也是rails / javascript),但我已经学到了很多东西。
答案 1 :(得分:1)
如果这是部分视图或视图,请确保使用扩展名.js.erb
命名,否则可能无法进行正确的ERB插值。