저는 Ruby와 Rails에 대해 매우 새롭습니다. 내가 사용하는dhtmlxGrid 편집 가능한 그리드 오류 : ECONNRESET
내가이 페이지에 표시된 dhtmlxGrid 사용 1.9.2
3.0.9 루비 레일 : http://www.dhtmlx.com/blog/?p=426
나는 무작위로 추가하고 그리드에 몇 가지 항목을 삭제 한 후 다음과 같은 오류가 발생합니다 : "ERROR의 errno : ECONNRESET은 : 기존의 연결이 서버가 즉시 중단하지 않습니다
C:/Railsinstaller/Ruby1.9.2/lib/ruby1.9.1/webrick/httpserver.rb:56 in 'eof?'
C:/Railsinstaller/Ruby1.9.2/lib/ruby1.9.1/webrick/httpserver.rb:56 in 'run'
C:/Railsinstaller/Ruby1.9.2/lib/ruby1.9.1/webrick/server.rb:183 in 'block in start_thread'
REMOTEHOST에 의해 폐쇄 된 대신 무작위로 충돌 일부 완료 GET 요청 후 다음 나는 오류에서 얻을.. 내 루비 인터프리터 (CUI) 1.9.2p290이 추락 한 Windows.
이 불안정성을 어떻게 피할 수 있습니까?
내 모델은 다음과 같습니다
시간 단계 컨트롤러는 다음과 같습니다class Timestep < ActiveRecord::Base
has_many :prodcaps, :dependent => :destroy
has_many :demands, :dependent => :destroy
has_many :maxaddcaps, :dependent => :destroy
has_many :addcapcosts, :dependent => :destroy
validates :stepnumber, :presence => true
attr_accessible :stepnumber
end
: 공유 헤더 인과
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%= render 'shared/grid_head' %>
</head>
<body>
<div id="grid_here" style="width:600px; height:400px;">
</div>
<script type="text/javascript" charset="utf-8">
var grid = new dhtmlXGridObject("grid_here");
grid.setImagePath("/javascripts/codebase/imgs/");
grid.setHeader("Zeitpunkt");
grid.setColSorting("str");
grid.setInitWidths("*");
grid.setSkin("dhx_skyblue");
grid.init();
grid.load("/timesteps/data.xml");
dp = new dataProcessor("/timesteps/dbaction.xml");
dp.init(grid);
</script>
<input type="button" value="Add" onclick="grid.addRow(grid.uid(),'<%=Timestep.last.stepnumber+1%>'); javascript:timedRefresh(500)">
<input type="button" value="Delete" onclick="grid.deleteSelectedRows(); javascript:timedRefresh(500)">
</body>
</html>
:
이class TimestepsController < ApplicationController
def view
end
def data
@timesteps = Timestep.all()
end
def dbaction
#called for all db actions
stepnumber = params["c0"]
@mode = params["!nativeeditor_status"]
@id = params["gr_id"]
case @mode
when "inserted"
timestep = Timestep.new
timestep.stepnumber = stepnumber
timestep.save!
@tid = timestep.id
when "deleted"
timestep=Timestep.find(@id)
timestep.destroy
@tid = @id
when "updated"
timestep=Timestep.find(@id)
timestep.stepnumber = stepnumber
timestep.save!
@tid = @id
end
end
end
시간 단계보기이입니다 :
,<script src="/javascripts/codebase/dhtmlxcommon.js" type="text/javascript" charset="utf-8"></script>
<script src="/javascripts/codebase/dhtmlxgrid.js" type="text/javascript" charset="utf-8"></script>
<script src="/javascripts/codebase/dhtmlxgridcell.js" type="text/javascript" charset="utf-8"></script>
<script src="/javascripts/codebase/dhtmlxdataprocessor.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="/javascripts/codebase/dhtmlxgrid.css" type="text/css" media="screen" charset="utf-8">
<link rel="stylesheet" href="/javascripts/codebase/skins/dhtmlxgrid_dhx_skyblue.css" type="text/css" media="screen" charset="utf-8">
<script type="text/javascript" charset="utf-8">
<%#Definiere Funktion zur Aktualisierung der Seite%>
<%#Übernommen von http://www.quackit.com/javascript/javascript_refresh_page.cfm %>
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
</script>
그리고 마침내 data.xml.builder은 다음과 같습니다
는xml.instruct! :xml, :version=>"1.0"
xml.tag!("rows") do
Timestep.all.each do |timestep|
xml.tag!("row",{ "id" => timestep.id }) do
xml.tag!("cell", timestep.stepnumber)
end
end
end