如何在jquery上渲染时在escape javascript上传递user_id

cha*_*uli 5 javascript jquery ruby-on-rails

在jquery上渲染时如何在escape javascript上传递user_id?

例如:

<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>
Run Code Online (Sandbox Code Playgroud)

Pan*_*kos 2

你可以将你的部分传递给 javascript:

$("#user tr:last").after("<%= escape_javascript(render :partial => 'user_item', :locals => {:user_item => User.find(@user_id)}) %>")
Run Code Online (Sandbox Code Playgroud)

其中 @user_id 是您要加载的用户。不过,这会在页面加载时呈现部分内容,因此每次单击 #addPerson 都会加载具有相同 @user_id 的相同部分内容。

如果这不是您的意图,您可以尝试使用多记录表单或使用 javascript 或对服务器的 ajax 调用创建新的部分。