小编Rap*_*ael的帖子

响应发送到浏览器后,在rails中执行代码

使用Rails 3.0.7,REE 1.8.7.

我想在响应发送到浏览器后在Rails中运行代码(特别是垃圾收集).

有没有办法修补Rails/Rack /某些东西,以便在响应从控制器发送到浏览器后立即调用GC.start?

*注意:这不是我想使用delayed_job或resque的情况.我已经知道这些工具并且它们不适合这个用例.*

garbage-collection ruby-on-rails

5
推荐指数
1
解决办法
1088
查看次数

mongoexport JSON解析错误

尝试使用mongoexport查询会导致错误.但是同样的查询由mongo-client评估而没有错误.

在mongo-client中:

db.listing.find({"created_at":new Date(1221029382*1000)})
Run Code Online (Sandbox Code Playgroud)

使用mongoexport:

mongoexport -d event -c listing -q '{"created_at":new Date(1221029382*1000)}'
Run Code Online (Sandbox Code Playgroud)

生成的错误:

Fri Nov 11 17:44:08 Assertion: 10340:Failure parsing JSON string near: 
$and: [ { 
0x584102 0x528454 0x5287ce 0xa94ad1 0xa8e2ed 0xa92282 0x7fbd056a61c4 
0x4fca29 
mongoexport(_ZN5mongo11msgassertedEiPKc+0x112) [0x584102] 
mongoexport(_ZN5mongo8fromjsonEPKcPi+0x444) [0x528454] 
mongoexport(_ZN5mongo8fromjsonERKSs+0xe) [0x5287ce] 
mongoexport(_ZN6Export3runEv+0x7b1) [0xa94ad1] 
mongoexport(_ZN5mongo4Tool4mainEiPPc+0x169d) [0xa8e2ed] 
mongoexport(main+0x32) [0xa92282] 
/lib/libc.so.6(__libc_start_main+0xf4) [0x7fbd056a61c4] 
mongoexport(__gxx_personality_v0+0x3d9) [0x4fca29] 
assertion: 10340 Failure parsing JSON string near: $and: [ {
Run Code Online (Sandbox Code Playgroud)

但是Date事先在mongoexport中进行乘法运算:

mongoexport -d event -c listing -q '{"created_at":new Date(1221029382000)}'
Run Code Online (Sandbox Code Playgroud)

作品!

为什么mongo在这两个上下文中以不同的方式评估查询?

command-line json export mongodb

3
推荐指数
1
解决办法
5993
查看次数

无法使用Mongoid和Geocoder对嵌入式文档进行地理查询

(Ruby 1.9.3,MongoDB 2.0.4,Rails 3.2,Mongoid 2.4,Geocoder 1.1.1)

我有以下型号:

class Company
  include Mongoid::Document

  embeds_one :office

  index [[ "office.coordinates", Mongo::GEO2D ]]
end

class Office
  include Mongoid::Document
  include Geocoder::Model::Mongoid

  geocoded_by :address

  field :city,        :type => String
  field :state,       :type => String
  field :coordinates, :type => Array

  embedded_in :company

  after_validation :geocode

  def address
    "#{city}, #{state}"
  end
end
Run Code Online (Sandbox Code Playgroud)

我在控制台中这样做:

> c = Company.new
 => #<Company _id: 4f885aa56d20f03898000003, _type: nil> 
> c.office = Office.new(:city => "San Francisco", :state => "CA")
 => #<Office _id: 4f885ab66d20f03898000004, _type: nil, city: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails mongoid rails-geocoder

1
推荐指数
1
解决办法
780
查看次数