丢失has_many关系的数据mongoid 2.2.0 / mongohq

时间:2011-09-07 03:06:19

标签: ruby-on-rails-3 mongoid

我有一个例行操作,可以创建一个评论对象,答案有多个评论。

我遇到了一个奇怪的错误,当新的评论发布到该答案时,偶尔会删除现有的评论。新评论也会被删除。

MongoHQ慷慨地指导我这个问题:https://github.com/mongoid/mongoid/issues/1173,但我使用的是mongoid2.2,它应该没有这个问题。

class Answer
  include Mongoid::Document
  has_many :comments, :dependent => :delete

class Comment
  include Mongoid::Document
  belongs_to :answer

# answer controller
def comment
  answer=Answer.find(params[:id])
  c=Comment.new(:text=>params[:text],:user_id=>current_user.id,:answer_id=>answer.id)
  success=c.save

  respond_to do |format|
    format.json {
        render :json=>c.to_json
      else
        render :json=>{"failure"=>c.errors}.to_json
      end
    }
  end    
end

此处包含更多详细信息: http://pastie.org/2488895

1 个答案:

答案 0 :(得分:0)

我通过降级到mongoid 2.0.2来修复它。这似乎是一个非常具体的错误,只发生在1-N关系下,如果你在mongohq。希望它能修复mongoid> 2.2