2010-08-11 37 views
5

如何在jQuery上渲染時通過轉義JavaScript上的user_id?如何在jQuery上渲染時通過轉義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> 
+2

[render:partial只會在escape_javascript上只生成一次]的可能重複(http://stackoverflow.com/questions/3437869/render-partial-generates-only-one-time-on-escape-javascript) – shingara 2010-08-11 06:14:40

回答

2

你可以通過你的偏JavaScript作爲:

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

凡@user_id將是你想要加載用戶。這會在頁面加載時呈現部分內容,因此每次點擊#addPerson都會使用相同的@user_id加載相同的部分。

如果這不是你的意圖,你可以嘗試使用多個記錄表單或創建一個新的部分與JavaScript或ajax調用您的服務器。