2017-06-18 176 views
0

從文件soul.html.erb,叫在頁面加載時局部視圖局部視圖軌

<%= render 'contact_options_soul_d' %> 

在文件contact_options_soul_d.html.erb部分觀點看起來是這樣的 -

<div id="contact-option"> 
<div id= 'un-authenticated' data-access-api-result = <%= @valid_ticket %> %></div> 
</div> 

上的按鈕REST調用發生在控制器和局部視圖的點擊是來自partial_create.js.erb

稱爲
def partial_create 
     respond_to do |format| 
     format.js 
     end 
     return 
    end 

文件partial_create.js.erb

$('#contact-option').html('<%= escape_javascript(render :partial => 'rhythm/contact_options_soul_d') %>') 

我的問題是 - 部分觀點被稱爲,斷點命中和@valid_ticket新的價值也得到更新,但觀點是沒有得到更新的網頁看起來還是即使在更新之後也是如此(在瀏覽器檢查中查看時視圖保持不變) 請幫忙!!!

+0

部分名稱是「partial.js.erb」還是「partial_create.js.erb」?它一定是後者。 – Gerry

+0

它是partial_create.js.erb。我使用紅寶石礦,所以在放置文件和文件名方面沒有任何問題,我相信:) –

回答

0

這不是一個完全適合你的方式的答案,但是你總是可以在控制器中呈現它,並在「respond_to」上返回,然後在Ajax成功上使用返回的值替換html:

然後在您的JS代碼(這與jQuery):

function soul_searching(parameters) { 
$.ajax({ 
    url: "YOUR/POST/ROUTE", 
    type: "POST", 
    dataType: "json", 
    data: { 
    any_parameters: 'you_need_to_pass_to_controller' 
    }, 
    success: function(data) { 
    $('#contact-option').html(data['new_html']); 
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
    //DO SOMETHING 
    } 
}); 

}

0

你需要用下劃線前面加上諧音。例如: _contact_options_soul_d.html.erb

注意:您只需要對文件名執行此操作。您仍然可以調用該部分

<%= render partial: 'contact_options_soul_d.html.erb' %> 

如果部分位於單獨的文件夾中,請確保引用路徑。