【问题标题】:Losing data on a has_many relationship mongoid 2.2.0 / mongohq在 has_many 关系 mongoid 2.2.0 / mongohq 上丢失数据
【发布时间】:2011-09-07 03:06:19
【问题描述】:

我有一个创建评论对象的例行操作,其中一个答案 has_many cmets。

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

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

【问题讨论】:

    标签: ruby-on-rails-3 mongoid


    【解决方案1】:

    我通过降级到 mongoid 2.0.2 来修复它。这似乎是一个非常特殊的错误,仅在 1-N 关系下发生,并且如果您使用的是 mongohq。希望它在 mongoid >2.2

    中得到修复

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多