我有一個從Google電子表格中遠程導入某些產品的導軌形式。在這樣做的時候,它通過將其company.import_status設置爲「開始」,當導入開始時以及「完成」完成後更新制作這些產品的公司。如何從數據庫中獲取更新的值並使用ajax在頁面上顯示它
我有一個顯示company.import_status的頁面,我嘗試更新它,以便我可以看到導入何時開始以及何時完成。我的代碼如下所示:
$(document).ready(function(){
<% @companies.each do |company| %>
setInterval(function(company){
$.ajax({
type : 'GET',
url : 'import',
dataType : 'html',
success : function(company){
$("#company_<%=company.id%>").html("<%= escape_javascript(Company.where(id: company.id).first.import_status) %>");
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert('Error!');
}
});
}, 1000);
<% end %>
});
由於某些原因,該字段未得到更新。它從「開始」開始,並保持這種狀態。我可以改變什麼來解決這個問題?如果我試着通過控制檯獲得它,它會給我正確的價值。
更新:
這是我的導入方法
def import
@companies = Company.find(params[:company].values.map{ |c| c[:id] }.compact)
@companies.each do |company| company.key = params[:company].values.select {|c| c[:id] == company.id.to_s}.first[:file] if !company.import_in_progress? company.import_start
end
end
respond_to do |format|
format.html { redirect_to admin_import_index_path }
format.js
end
end
你在哪裏更新該字段(我指的是代碼),請在此處添加 – anusha 2014-10-27 08:11:09
表單提交做到這一點。 – ivanacorovic 2014-10-27 09:19:25
請將此添加到您的問題,以便明確 – anusha 2014-10-27 09:20:51