render:partial在escape_javascript上只生成一次

时间:2010-08-09 06:50:42

标签: javascript jquery ruby-on-rails

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

每一次。 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

这是因为部分只渲染了一次。

HTML文件只生成一次。当你调用这个Javascript函数时,它不会调用partial,因为它已经生成了。

如果你想每次都有新一代。您需要使用user_id进行服务器调用并获取HTML作为回报。