Потеря данных об отношении has_many mongoid 2.2.0 / mongohq - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть обычное действие, которое создает объект комментария, в котором ответ имеет множество комментариев.

Я испытываю странную ошибку, которая иногда удаляет существующие комментарии для ответа, когда к этому ответу добавляется новый комментарий. Новый комментарий также удаляется.

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 голосов
/ 09 сентября 2011

Я исправил это путем понижения до mongoid 2.0.2.Кажется, это очень специфическая ошибка, которая возникает только при отношениях 1-N, и если вы используете mongohqНадеюсь, что это исправлено в mongoid> 2.2

...