[英]How do I update one attribute using AJAX without having to use any heavy JS?
我有一個屬性weight.subtotal
,我想在其更改時自動對其進行更新(通過模型上的before_save回調進行更新)。
我看着pjax,但這看起來太沉重了。 我要發生的就是更改后的一個td
或div
,它具有以下內容:
<td><%= weight.subtotal %></td>
無需頁面重新加載即可自動更新。
謝謝。
編輯1:最好是“就地最佳”之類的寶石,但它不是依靠用戶更新值,而是偵聽值是否已更改-並且當它更改時,它只會更新頁面上的該值。 。
無法提供任何gem,因此從頭開始,它需要一個返回當前值的方法,例如,
/weights/get_subtotal/:id.:format
我建議只是將其吐入json中,以便jquery可以輕松解釋。
然后,使用jquery輪詢該方法,如果已更改,請像這樣更改視圖中的值。
function poll(){
setTimeout(function(){
$.ajax({ url: "/weights/get_subtotal/xx", success: function(data){
//put code here to compare old td value
//with current value, and replace if different
//Setup the next poll recursively
poll();
}, dataType: "xxxxx"});
}, 10000);
};
$(document).ready(function(){
poll();
});
如果您將權重的ID放在td的ID中會很容易,例如,
<td id="weigth_<%= weight.id%>"><%= weight.subtotal %></td>
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.