这是我遇到的一个jQuery问题,总是要使用我并不自豪的方法解决.
我正在尝试存储一系列元素供以后评估.问题是每次我尝试访问并应用任何函数时,错误控制台都会报告它不是函数.我确信我对jQuery的工作方式有误解.尽管如此,我还是想指出正确的方向.这是我正在使用的代码:
var products = $('ul.products');
var productLists = []
$.each(products, function (i) {
productLists[i] = products[i].children('li');
console.log(productLists[i]);
});
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Uncaught TypeError: Property 'children' of object #<HTMLUListElement> is not a function
Run Code Online (Sandbox Code Playgroud) 我正在尝试进行mongo查询,我在每个文档中获取数组的长度,而不检索列表的完整内容.理想情况下,这将是这些行的投影选项:
db.log.find({},{entries:{$length: 1}})
Run Code Online (Sandbox Code Playgroud)
但这不受支持.也许这可以通过新的聚合框架以优雅的方式实现?我想出的是:
db.log.find({},{"entries.length": 1})
Run Code Online (Sandbox Code Playgroud)
返回结果如下:
{ "_id" : ObjectId("50d2fb07e64cfa55431de693"), "entries" : [ { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { } ] }
Run Code Online (Sandbox Code Playgroud)
这很难看,但基本上可以满足我的需求,因为我可以计算这个列表的长度而不需要获取全部内容的网络权重.但我不知道为什么会这样.这个查询到底在做什么?
我目前正在使用Resque来处理我的应用程序中的后台作业.现在我有5个不同的队列(它会变得非常快).他们每个人都在做更新Solr索引,实时通知,预定时事通讯,延迟电子邮件和短信等工作.目前我正在使用Resque作为rails gem并从rails环境运行Resque.
现在我计划将Solr索引更新任务和预定的新闻简报移动到不同的服务器,因为这两个执行繁重的操作.一种方法是将rails目录复制到新服务器,并从rails环境运行Resque作业.但我这样做并不舒服.
另一个是为resque任务创建一个单独的rake应用程序.但问题是,这两项任务都与rails模型和rails模板密切相关.我完全不确定如何继续下一步.
有没有人遇到类似的问题,以及你如何构建应用程序?
我正在尝试创建一个非常小的简单表单来编辑单个复选框,并在修改复选框时使用AJAX自动提交.这是代码,其他SO问题暗示应该起作用:
<%= form_for(workitem, :remote => true) do |f| %>
<%= f.check_box :is_complete, :onchange => 'this.form.submit()' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
问题是,这会导致整页HTML提交,而不是AJAX提交.如何触发AJAX提交?
这似乎应该是直截了当的工作.MongoDB/BSON具有本机二进制类型,并且Moped驱动程序支持它.但是当我尝试在我的rails项目中创建一个脚手架时
rails g scaffold image png:binary source:string
Run Code Online (Sandbox Code Playgroud)
我得到这个模型:
class Image
include Mongoid::Document
field :png, type: Binary
field :source, type: String
end
Run Code Online (Sandbox Code Playgroud)
这会产生此错误:
uninitialized constant Image::Binary
Run Code Online (Sandbox Code Playgroud)
使用Rails 3.2.8和Mongoid 3.0.9.
我想到如果我们从TCP中删除指数退避时间,这将提高TCP吞吐量的性能.我还看到了一篇论文,其中说了如何做到这一点.只需谷歌"删除tcp指数后退时间",你就会得到它.但是,我无法理解如何进入UNIX内核并破解它以改变TCP功能.如果有人可以帮助我,那就简直太棒了.
谢谢.