我有一个例行操作,可以创建一个评论对象,答案有多个评论。
我遇到了一个奇怪的错误,当新的评论发布到该答案时,偶尔会删除现有的评论。新评论也会被删除。
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
答案 0 :(得分:0)
我通过降级到mongoid 2.0.2来修复它。这似乎是一个非常具体的错误,只发生在1-N关系下,如果你在mongohq。希望它能修复mongoid> 2.2