2013-07-08 109 views
0

我不知道發生了什麼。我只想通過ajax渲染一個編輯表單,將局部傳遞給部分。我的代碼如下通過局部導軌

呼喚我licencias_controller

<td><%= link_to '<i class="icon-pencil icon-black"></i>'.html_safe, edit_licencia_path(licencia), :remote => true %></td> 

這裏編輯動作是我在licencias_controller

 def edit 
    @licencia = Licencia.find(params[:id]) 
    respond_to do |format| 
     format.js {} 
    end 
    end 

代碼這裏是我的edit.js.erb代碼

$(document).ready(function(){ 

    $('#modContLicencia').replaceWith('<%= escape_javascript(render(:partial => 'edit', :locals => {:licencia => @licencia})) %>'); 
    $('#modLicencia').modal('show'); 
}); 

所以我想要顯示_licit部分中的@licencia數據。第一次點擊查看它的呈現正常,但是如果我在索引中單擊另一個@licencia對象,則局部呈現相同的@licencia對象。因此,當我單擊另一次編輯它時,@licencia對象不會更新。什麼即時做錯了?

+1

用$( '#modContLicencia')嘗試HTML(「<%= escape_javascript(渲染(:部分=>'編輯',:locals => {:licencia => @licencia}))%>「); –

+0

雖然它沒有回答你的問題'$('#modContLicencia')'必須是唯一的 – Salil

+0

謝謝你的回答,那就是問題! –

回答

0

您使用的引號可能會導致您的這個問題。您的edit將被視爲replaceWith行中的變量。你想要麼逃避報價使用\'包木窗您edit部分或使用替代如下:

$('#modContLicencia').replaceWith("<%= escape_javascript(render(:partial => 'edit', :locals => {:licencia => @licencia})) %>"); 
+0

謝謝你,那就是問題所在! –

+0

@MaximilianoPoggio,不客氣! – vee