Gon-gem for ruby on rails监视函数监视所有变量
Gon gem for ruby on rails watch function watch all variables
gon是ruby on rails将数据从控制器传递到视图的javascript的宝石。
它运行良好,只需传递数据并监视一个变量。
但当我有正常的数据(不需要动态监视)和数据1(需要监视)时,问题就发生了。
Gon监视所有变量,而不是只监视Gon.watch.data1。
这导致刷新时间非常长(7kms以上)
网页总是挂起。
以前有人面临过这个问题吗?如何解决这个问题?
我的控制器中的代码
class GmapsController < ApplicationController
def index
@i=0
@Nstatic=Array.new(NoiseDevice.all.length) {Array.new(4)}
@Vstatic=Array.new(VibrationDevice.all.length) {Array.new(4)}
@vabrdevices = VibrationDevice.find(:all)
@vabrdevices.each do |vabrdevice|
@Vstatic[@i][0]=Project.where(id: vabrdevice.project_id).pluck(:client_name).first.to_s
@Vstatic[@i][1]=vabrdevice.latitude #
@Vstatic[@i][2]=vabrdevice.longitude #
@Vstatic[@i][3]=VibrationDevice.where(id: vabrdevice.id).pluck(:cont_value).first.to_s
@i+=1
end
@i=0
@noiseDevices = NoiseDevice.find(:all)
@noiseDevices.each do |noiseDevice|
@Nstatic[@i][0]=Project.where(id: noiseDevice.project_id).pluck(:client_name).first.to_s
address=Project.where(id: noiseDevice.project_id).pluck(:jobsite_location).first.gsub(/'s+/, "+")
@Nstatic[@i][1]=noiseDevice.latitude #
@Nstatic[@i][2]=noiseDevice.longitude #
@Nstatic[@i][3]=NoiseDatum.order(:updated_at).where(noise_device_id: noiseDevice.id).pluck(:leq).first.to_s
@i+=1
end
gon.nstatic=@Nstatic
gon.vstatic=@Vstatic
end
def ndataupdate
@test=Array.new
@test=VibrationDevice.pluck(:cont_value).to_s
gon.watch.test1=@test
end
end
它不是只更新我的test1,而是更新从该控制器中的数据库加载的所有数据。即使我删除
gon.static=@nstaticgon.vstatic=@vstatic
gon将加载从该控制器中的数据库检索到的所有数据,而不是其中的一部分
为了使它只显示刷新部分,我删除了所有检索数据的功能。。。
也许这不是答案,但也许它在某种程度上有所帮助(注释太长),
因此,您可以手动指定url
来更新变量,如:
gon.watch('test1', {interval: <ms>, url: '<url>'}, '<callback>')
为了检查ndataupdate
操作中的可用变量,您可以编写:
gon.all_variables
你也可以尝试用清理变量
gon.clear
相关文章:
- 监视函数从服务返回不起作用,但作用域函数起作用
- 从指令链接函数监视控制器作用域
- 有没有一种方法可以让watch函数获取被监视文件的名称
- 角度测试:监视在控制器初始化时执行的函数
- Javascript:监视队列/连续运行函数
- 当承诺在监视函数中解析时,如何使承诺的 then 函数起作用
- 监视由 Jasmine 中的另一个函数调用的函数
- Jasmine:如何在ES6上监视导入的函数/构造函数
- 如何使用 sinon.js 来模拟/监视 javascript 函数中提到的对象
- sinon.js监视$.dataTables函数
- AngularJS 指令 - 链接函数元素参数在监视函数中不可用
- 如何监视接收函数参数的方法
- 通过Ng重复指令监视控制器中函数的输出
- 使用Jasmine监视函数中的变量
- Jasmine-如何监视函数中的函数调用
- Gon-gem for ruby on rails监视函数监视所有变量
- 我如何测试angularjs指令来监视函数调用?
- Karma -监视函数错误处理
- 如何监视函数内部的函数调用以及控制器上的函数内部的函数调用
- 监视函数sinon返回的函数