render:partial只在escape_javascript上生成一次
例如
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("#addPerson").click(function(){
$("#user tr:last ").after("<%= escape_javascript(render :partial => 'user_item', :locals =>{:user_item => User.new}) %>");
return false;
});
});
</script>
我检查了user_item部分文件中的object_id,它显示的是相同的object_id,直到保存并保存最后一项。
<%= user_item.object_id %>
结果
12354
每一次。 请帮我解决这个问题。
答案 0 :(得分:1)
这是因为部分只渲染了一次。
HTML文件只生成一次。当你调用这个Javascript函数时,它不会调用partial,因为它已经生成了。
如果你想每次都有新一代。您需要使用user_id进行服务器调用并获取HTML作为回报。